티스토리 뷰
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
'Linux' 카테고리의 다른 글
[ Linux ] 쉘 스크립트 - FTP 접속 및 파일 전송 (0) | 2020.04.22 |
---|---|
[ Linux ] 쉘 스크립트 텍스트 치환 (0) | 2020.04.07 |
[ Linux ] split string by delimiter (0) | 2020.04.06 |
[ linux ] 정규식으로 파일 폴더 삭제 (0) | 2020.04.06 |
[ Linux ] Crontab 이란? 활용 방법 (2) | 2020.04.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- logstash
- Filter
- Index
- scala
- SpringBoot
- elasticsearch
- intellij
- Container
- JPA
- JSON
- mac
- Linux
- error
- maven
- AWS
- spring
- Spark
- plugin
- tomcat
- gradle
- Java
- docker
- apm
- install
- Git
- Size
- Log
- spring boot
- Kibana
- Postman
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함