if
명령줄에서 간단한 명령문을 실행하여 테스트해 보았지만 bash는 이를 실행하지 않습니다 .
~$ myVar = 23
조건문 실행
~$ if [$myVar -eq 23] then echo "myVar is 23" fi
Bash는 이것을 실행하지 않습니다. 여기서 내가 무엇을 놓치고 있습니까?
답변1
변수 공간을 선언하는 것이 중요합니다.
myVar = 23
다음에는 세미콜론이 누락되어 있으며 대괄호 안의 간격이 중요합니다.
if [$myVar -eq 23] then echo "myVar is 23" fi
해야 한다:
myVar=23
그리고:
if [ $myVar -eq 23 ]; then echo "myVar is 23"; fi
여러 줄에 작성하는 경우 세미콜론 없이도 작성할 수 있습니다.
if [ "$myVar" -eq 23 ]
then
echo '$myVar is' "$myVar"
fi
일반적으로 변수에는 큰따옴표를 사용하는 것이 좋습니다.
작은따옴표는 리터럴 문자열에 사용됩니다.
이는 세미콜론을 사용한 유효한 구문이기도 합니다.
if [ "$myVar" -eq 23 ]; then
echo '$myVar is' "$myVar"
fi