문제

gnuwin32/bin 디렉토리를 살펴보면 홀수 프로그램 파일이 있습니다. [.exe

문서 Gnuwin32.sourceforge.net 또는 Google 검색에서 찾을 수 없었습니다.

$ [
[: missing `]'
$

그래서 나는 그것을 매개 변수로 주었다.

$ [ ]

$

불평하지 않았기 때문에 올바른 길을 가고 있다고 생각했습니다. 나는 시도했다 :

$ [ hello ]

다시 한 번 불만이 없습니다. 그래서 산술 표현을 시도했습니다.

$ [ 1 + 1 ]
[: +: binary operator expected
$

Prefix & Postfix 표기법을 포함하여 다양한 조합을 시도했지만 아무것도 작동하지 않았습니다. 이 일은 무엇을합니까?

도움이 되었습니까?

해결책

평가하는 데 사용됩니다 가정 어구 표현.
그것은 (아마도 Symlink to?)와 같습니다. test 실행 파일.
인력은입니다 여기.

이것을 많은 배쉬 스크립트에서 볼 수 있습니다.

if [ "$LOGNAME" = "scott" ]
then
    echo "Logged in as Scott"
else
     echo "incorrect user"
fi

재미있는 것은, [ Bash 언어의 일부가 아니며 실제로 'IF'가 반환 코드를 사용하는 실행 파일입니다. 이것이 바로 이후의 공간이 이유입니다 [ 그리고 첫 번째 주장은 필수입니다. 생략되면 스크립트는 실행하려고합니다. ["$LOGNAME" 그리고 실패.

산술 작업을 수행 할 수 없습니다 expr 이를 위해 (참조 여기). 그러나 다양한 파일 속성 (존재합니까? 어떤 유형입니까? 등)를 테스트하고 문자열과 숫자에 비교 연산자를 사용 할 수 있습니다.

다른 팁

test a

==

[ a ]

설탕 일뿐입니다

편집 : 명확히하기 위해, 그것은 조건부 구문입니다. 예 : [ "a"= "a"]

이미 언급 한 또 다른 대답은 그것이 동일하다고 언급했습니다 test. Bash에서는 또한 내장형이므로 도움을받을 수 있습니다. help 내장 (help test).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top