在运行一些他们抱怨的安装脚本时,我遇到了一些问题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,操作系统是Red Hat Enterprise Linux Server 6.6版。