쉘 스크립트를 보다 보면, 스트링을 비교할 때 "x$STR" = "xABC" 와 같이 x를 접두사로 붙이고 비교하는 모습을 자주 볼 수 있는데요
이렇게 하는 이유가 있는지 궁금하네요.
$STR에 아무것도 할당되지 않을경우를 대비하기 위해서 입니다.
/*********************** * while(1) sleep(INFINITE); ***********************/
그럼 그때는 "" = "$STR" 과 같이 비교하면 되는거 아닌가요??
STR= if [ "$STR" = "ABC" ]
이렇게 비교한다면 문제가 안됩니다만,
STR= if [ $STR = "ABC" ]
이렇게 되면 오류가 발생하게 됩니다.
두번째 코드에 나타난 오류의 소지를 없애고자 prefix를 붙이는 코딩스타일이 나오게 된것으로 알고 있습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
$STR에 아무것도
$STR에 아무것도 할당되지 않을경우를 대비하기 위해서 입니다.
/***********************
* while(1) sleep(INFINITE);
***********************/
그럼 그때는 "" = "$STR"
그럼 그때는 "" = "$STR" 과 같이 비교하면 되는거 아닌가요??
STR= if [ "$STR" = "ABC"
이렇게 비교한다면 문제가 안됩니다만,
이렇게 되면 오류가 발생하게 됩니다.
두번째 코드에 나타난 오류의 소지를 없애고자 prefix를 붙이는 코딩스타일이 나오게 된것으로 알고 있습니다.
/***********************
* while(1) sleep(INFINITE);
***********************/
댓글 달기