본문 바로가기

Linux

/bin/sh substitution

ubuntu에서 개발을 하다 보면 가끔씩 만나게 되는 에러 메시지이다.

/bin/sh substitution


위와 같은 에러 메시지를 만났다면, 현재 사용하는 쉘이 빌드하려는 스크립트를 지원 못하기 때문이다.

아래 내용을 참고하자.


출처 : http://jang574.tistory.com/82

우분투의 기본 쉘은 dash 이다.

$ ls -al /bin/sh

lrwxrwxrwx 1 root root 4  1월 12 15:35 /bin/sh -> dash


하지만, 개발용 shell script들 중 bash 용으로 작성된 것들이 많다.
shell script도 POSIX standard 를 준수하면 좋겠지만,
당장 빌드 에러가 shell script 때문에 발생하고, 개발 진행이 안되면 난감하다.

dash 대신 bash로 기본 쉘을 바꾸자.

$ sudo dpkg-reconfigure dash

No 라고 답변.


아래처럼 바뀐다.

$ ls -al /bin/sh

lrwxrwxrwx 1 root root 4  1월 12 22:48 /bin/sh -> bash


관련 정보는 아래 링크에 있다.

https://wiki.ubuntu.com/DashAsBinSh