bash 쉘 스크립트를 짜서 써보니 변수 근처에서 command not found 에러가 나온다.





문제는 변수와 =(assign operator) 사이 공백이 있었기 때문이다. 저렇게 쓸 경우 change_conf라는 command에 = false 라는 옵션이 들어가는 것으로 인식이 된다고 한다.



변수명과 공백의 위치에 따른 쉘의 해석은 다음과 같다

var=123   #정상. var에 123을 assign.
var =123  #var가 command로 인식됨.
var= 123  #whitespace 때문에 var에 아무 것도 들어가지 않음. 그리고 123 command를 수행함.
var = 123 #var가 command로 인식됨.





변수와 assign operator 사이 공백을 없애면 에러가 사라진다.

반응형