[완료]shell script 분석

bueline의 이미지

shell script를 가지고 프로그램을 만들어야 하는데요
책을 보아도 원래 있던 소스에서 이해 안되는 부분이 있어서 질문드립니다.

if [ "x$TEST" == "x" ]; then
   exit -1
fi

if문을 확인해서 같으면 끝내라는 건 알겠는데요
if문 안에 조건에 대해서 이해가 안되서요

raymundo의 이미지

그게 제가 알기론,

if [ $TEST == "" ]

이렇게 TEST 변수가 널스트링인지를 확인할 경우 뭐가 문제냐 하면 진짜 TEST가 빈스트링이면 저게 참이 되는 게 아니라 스크립트가 실행 중 오류가 나 버리거든요.

if [ == "" ]

이렇게 해석되어 버려서요.

그런 경우를 막기 위해서 저렇게 양변에 "x"를 덧붙여주는 건데, 근데 그럴 거면 그냥 따옴표만 붙여서

if [ "$TEST" == "" ]

이렇게만 해도 될 것 같은데...

여기까지 쓰고 나서 구글링해보니까... 그냥 처음부터 구글링할걸ㅋ
http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/comparison-ops.html

위 링크의 제일 하단 주석을 보세요~

좋은 하루 되세요!

bueline의 이미지

구글링도 제대로 못해서 여기에 끄적였네요
도움 감사드립니다.