./ chmod 之后不起作用

./ chmod 之后不起作用

我在 Centos 服务器上,当我尝试运行时

./script.sh

Permission Denied即使在我尝试添加后,我仍然收到错误chmod +x script.sh

sh script.sh虽然有效。

更新

脚本文件开头为#!/bin/sh

答案1

您的脚本很可能缺少“shebang”。系统尝试读取应该执行哪个解释程序来运行脚本。如果“shebang”位于第一行并以 开头,则系统会识别该“shebang” #!

例子:

#!/bin/bash
#!/bin/sh
#!/usr/bin/env python
#!/bin/sed

请注意,在大多数脚本语言中,这#!是一个注释,因此如果您从命令行使用特定的解释程序运行它,则不会出错,如下所示:

$ bash ./script.sh

更多信息: https://en.wikipedia.org/wiki/Shebang_(Unix)

相关内容