명령줄의 bash 구문 문제

명령줄의 bash 구문 문제

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

관련 정보