i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
그것은 bash는 스크립트의 일부이며 항상 다른 분기를합니다. 나는 완전히 bash에 그렇게 어리석은 무엇인가누군가가 왜 이것이 작동하지 않는지 알아낼 수 있습니까?
i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
그것은 bash는 스크립트의 일부이며 항상 다른 분기를합니다. 나는 완전히 bash에 그렇게 어리석은 무엇인가누군가가 왜 이것이 작동하지 않는지 알아낼 수 있습니까?
당신은 [$i
대신에 [ $i
가 필요하다.
이것은 이 내장 명령이고 $i
이 첫 번째 매개 변수 여야하기 때문입니다. 당신이 명령 및 매개 변수 사이의 공간을 놓칠 경우, 쉘은 [$i
명령 및 평가 실행해야 할 [0
명령이 없다는 것을 당신에게 말할 것이다 돌볼 것입니다.
긍정 (I == 0)()'될 수있다. 나는 이런 식으로 작성하는 경향이있다 "만약 [$의 X 빌려의 $ y를] 다음,"나는 좋아하기 때문에 내 다음 같은 줄에있는 경우. – MJB
Hmmno은 '[내부 명령의'아니다 : 그것은'test' 명령에 (SYM) 링크이다.)'하는 ['에서 쉘을 시도, 사실, test'와'[''사이의 유일한 차이점은'['양식을 필요로하는']'마지막 인수로한다는 것입니다. – fge
@fge : 쉘 구현에 따라 다릅니다. 구형 OS에서는 심볼 링크였습니다. 현대의 모든 껍질에는 그런 내장이 있습니다. 볼'타입 ['. –
당신은 '['이전과 ']'후 공간이 필요합니다. '['는 명령입니다.
'[$ i가 0 -eq] 대안' – potong