Ubuntu unexpected operator 쉘스크립트 에러

# Ubuntu(우분투)에서 쉘 스크립트(.sh)를 실행할때 다음과 같은 오류 메시가가 발생한다.
[: Linux: unexpected operator

# 쉘 스크립트를 실행할때 sh 명령을 사용하는데 보통은 bash 로 링크걸려 있다.
# 그런데 우분투의 경우는 sh -> dash 로 링크가 걸려 있다.
# 다음 명령으로 sh 의 링크 상태를 확인해보자!
ls -ahl /bin/sh

# 해결방법1
# bash 로 쉘 스크립트 실행
bash ysoftman.sh

# 해결방법2
# sh -> bash 로 링크하여 sh 로 실행
sudo unlink /bin/sh
sudo ln -s /bin/bash /bin/sh
sh ysoftman.sh

# dash shell 참고
https://ko.wikipedia.org/wiki/%EC%95%94%ED%82%A4%EC%8A%A4%ED%8A%B8_%EC%85%B8

comments:

댓글 쓰기