linux
[Ubuntu] unexpected operator 쉘스크립트 에러
afewgood
2019. 6. 5. 11:32
# Ubuntu(우분투)에서 쉘스크립트(.sh)를 실행할 때 다음과 같은 오류 메시지가 발생한다.
[: Linux: unexpected operator
# 쉘스크립트를 실행할 때 sh 명령을 사용하는데 보통은 bash로 링크 걸려 있다. 그런데 우분투의 경우는 sh -> dash 로 링크가 걸려 있다.
# sh의 링크 상태를 확인 명령어
]$ ls -ahl /bin/sh
]$ /bin/sh -> dash
해결방법_01) bash로 쉘스크립트 실행
]$ bash script.sh
해결방법_02) sh를 bash로 링크하여 sh실행
]$ sudo unlink /bin/sh
]$ sudo ln -s /bin/bash /bin/sh
]$ sh script.sh
# dash shell 참고
https://ko.wikipedia.org/wiki/%EC%95%94%ED%82%A4%EC%8A%A4%ED%8A%B8_%EC%85%B8
▶ 최종해결방법) 스크립트(.sh)파일의 첫번째 줄에 #!/bin/bash 으로 변경(추가)하면 됨 ◀