我有一个run.sh
文件,我想通过
./run.sh
然而,它说
bash: ./run.sh: Permission denied
然后我尝试更改执行它的权限。我打开该文件的属性,然后转到权限选项卡,我检查了“Allow executing file as program
”。复选标记消失了!它使我的支票无效......
然后我尝试使用
sudo chmod +x run.sh
然后
./run.sh
然后发生了同样的许可问题...... 但是,如果我用
运行它bash run.sh
它有效。但我真的想解决这个问题并回到习惯使用./
来执行shellcript。有人可以帮忙吗?感谢。
答案 0 :(得分:1)
你的脚本run.sh是否有一个shebang(以#!开头的脚本的第一行)?
答案 1 :(得分:1)
首先,这不是关于类型的权限,而是关于用户特定权限。
一种可能的解释是您的bash进程可能在root所有者下运行。因此,您运行的所有应用程序
bash script.sh
不需要超级用户权限。 如果您以
运行bash script.sh
您需要提供root密码才能正常工作。