쉘 스크립트를 보다 보면, 스트링을 비교할 때 "x$STR" = "xABC" 와 같이 x를 접두사로 붙이고 비교하는 모습을 자주 볼 수 있는데요
이렇게 하는 이유가 있는지 궁금하네요.
$STR에 아무것도 할당되지 않을경우를 대비하기 위해서 입니다.
/*********************** * while(1) sleep(INFINITE); ***********************/
그럼 그때는 "" = "$STR" 과 같이 비교하면 되는거 아닌가요??
STR= if [ "$STR" = "ABC" ]
이렇게 비교한다면 문제가 안됩니다만,
STR= if [ $STR = "ABC" ]
이렇게 되면 오류가 발생하게 됩니다.
두번째 코드에 나타난 오류의 소지를 없애고자 prefix를 붙이는 코딩스타일이 나오게 된것으로 알고 있습니다.
$STR에 아무것도
$STR에 아무것도 할당되지 않을경우를 대비하기 위해서 입니다.
/***********************
* while(1) sleep(INFINITE);
***********************/
그럼 그때는 "" = "$STR"
그럼 그때는 "" = "$STR" 과 같이 비교하면 되는거 아닌가요??
STR= if [ "$STR" = "ABC"
이렇게 비교한다면 문제가 안됩니다만,
이렇게 되면 오류가 발생하게 됩니다.
두번째 코드에 나타난 오류의 소지를 없애고자 prefix를 붙이는 코딩스타일이 나오게 된것으로 알고 있습니다.
/***********************
* while(1) sleep(INFINITE);
***********************/