这是我们的测试脚本…
#!/bin/bash
echo "Hello World"
在Linux客户端挂载的NFS共享中。如果我们像这样调用脚本:
./testscript.sh
那么我们得到这个:
sh: ./testscript.sh: Permission denied
如果我们这样称呼它:
bash ./testscript.sh
则执行正确。同样,如果我们在本地文件系统上运行它,那么它可以正确地执行,而不需要前缀"bash"。
有什么方法可以使shebang工作吗?顺便说一下,权限是完全开放的。777 .
编辑1:我发现问题了。
我在NFS挂载的挂载选项中设置了"user"。很显然,这会让你失去执行的能力。
使用chmod
命令设置可执行标志:
chmod +x testscript.sh
然后执行:
./testscript.sh