그들이 불평하는 일부 설치 스크립트를 실행할 때 몇 가지 문제가 발생했습니다 bad interpreter
.
그래서 간단한 예를 들었지만 문제가 무엇인지 알 수 없습니다 (아래 참조).
#!/usr/bin/env bash
echo "hello"
위의 스크립트를 실행하면 다음 오류가 발생합니다
[root@ech-10-24-130-154 dc-user]# ./junk.sh
bash: ./junk.sh: /usr/bin/env: bad interpreter: No such file or directory
/usr/bin/env
파일은 아래를 참조 존재 :
[root@ech-10-24-130-154 dc-user]# ls -l /usr/bin/env
lrwxrwxrwx 1 root root 13 Jan 27 04:14 /usr/bin/env -> ../../bin/env
[root@ech-10-24-130-154 dc-user]# ls -l /bin/env
-rwxr-xr-x 1 root root 23832 Jul 16 2014 /bin/env
[root@ech-10-24-130-154 dc-user]#
규칙적인 shebang을 사용하도록 스크립트를 변경해 #!/bin/bash
도 아무런 문제가 없습니다. #!/bin/env bash
잘 작동합니다.
휴대용 shebang이 작동하도록 환경에서 누락 된 것은 무엇입니까?
ls -lL /usr/bin/env
반환 ls: cannot access /usr/bin/env: No such file or directory
그래서 나는 심볼릭 링크를 변경해야 할 것 같아요? 그것을 가리킬 수 있습니까 /bin/env
?
env --version
는 8.4이고 OS는 Red Hat Enterprise Linux Server 릴리스 6.6입니다.