본문 바로가기
Developing/others

[ Shell ] 셔뱅을 근본있게 작성하자

by 콤쓰 2023. 3. 4.

 

#!/usr/bin/env bash​

 

AWS CodeDeploy를 이용해 자동 배포를 적용하는 중에, 굉장히 구질구질한 에러가 발생.

모든 배포에서 같은 에러가 발생했다.

 

사실 아직 해결 못했다.

아무튼 발생한 에러는 다음과 같았다.

bash: ./stop_server.sh: bin/bash: bad interpreter: No such file or directory

/bin/bash 가 없다는게 무슨 소리인지..

 

https://unix.stackexchange.com/questions/27054/bin-bash-no-such-file-or-directory

 

#!/bin/bash - no such file or directory

I've created a bash script but when I try to execute it, I get #!/bin/bash no such file or directory I need to run the command: bash script.sh for it to work. How can I fix this?

unix.stackexchange.com

 

훌륭하신 타국의 형님들의 답변에서 좋은 말씀을 발견하였다.

Actualy, the right shebang for bash script is this:
#!/usr/bin/env bash
Because, in freeBSD, bash is located in /usr/local/bin/bash

오...

그렇다고 합니다.

아 내가 EC2인스턴스를 Debian으로 해둬서 문제가 생겼던가....

 

라고 생각하고 글까지 쓰고 있었는데, 생각해보니 Ubuntu였는데...? 아니 애초에 freeBSD가 아닌데 왜 난리였던 것..??

 

아무튼, 저 [ #!/usr/bin/env ] 이 근본있는 셔뱅이라고 합니다.