我真的很想知道为什么 Linux (Debian Squeeze) 表现得有点疯狂。 我一直在尝试在我的 webapps 目录中执行一个简单的 test.sh 脚本:
/var/www/tomcat7/webapps/ROOT/WEB-INF/bin/
如何执行脚本?好吧,这将通过输入来完成:
编辑:这与错误(被遗忘)的权限无关:
chmod +x test.sh
./test.sh
现在给了我以下内容:
-bash: ./test.sh: No permission
test.sh 看起来像这样:
#!/bin/bash
echo "Hello!"
什么鬼?将 test.sh 复制/移动到我的主目录并再次执行它,这给了我:
Hello!
这实际上是我的 test.sh 文件的输出。所以,它在我的 webapp 目录中不起作用,但它在家里工作?
我的研究:
尝试使用 sudo 权限执行脚本:
当使用 sudo 执行脚本时,脚本什么都不做。完全没有消息。
试图通过
执行它. test.sh
它有效!但为什么呢?
最佳答案
文件所在的卷已挂载 noexec
。您将需要重新挂载它 exec
,但请考虑/研究为什么它首先挂载 noexec
。
关于linux - Linux Shell 脚本的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522650/