티스토리 뷰

Linux

[ Linux ] bash [ ... ] 와 [[ ... ]]

구티맨 2020. 4. 6. 09:59
if [[ $aug1 == "and" ]];

: aug1 변수가 undefined 또는 empty 이더라도, $aug1 부분이 없어지지 않아 에러가 발생하지 않는다.

if [ $aug1 = "and" ];

: single bracket 에서는 aug1 변수가 undefined 또는 empty 인 경우, 아래와 같이 syntax 에러가 발생하게 된다.
( [: =: unary operator expected )

if [ = "and" ];

single braket에서 이를 방지하기 위해서는 아래와 같이 변수를 따옴표로 싸줘야 한다.

if [ "$aug1" = "and" ];

결론은 [[ ... ]] 에서 더 많은 처리를 해주므로, [ ] 와 "" 를 쓰는것 보다 가급적이면 [[ ... ]] 를 사용하는 것이 더 좋을듯 하다.

출처

https://stackoverflow.com/questions/13617843/unary-operator-expected-error-in-bash-if-condition

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함