运行 .sh 脚本时权限被拒绝

khw*_*ilo 111 12.04

./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied
Run Code Online (Sandbox Code Playgroud)

program exited with code: 126. 当我尝试执行我的代码时总是会出现这个问题。可能的解决方案是什么?

pre*_*ise 186

这是一个解释更改文件权限(和所有权)的链接

如果您想跳过这些(当然是现在),您可以在您的用户主目录中创建一个目录/文件夹并在C那里处理您的程序(或其他程序)。


您可以打开终端(按Ctrl+ Alt+ T)并cd转到目标目录:

cd /path/to/target
Run Code Online (Sandbox Code Playgroud)

授予文件“the_file_name”执行权限(如果文件系统允许您拥有 RW 权限):

chmod +x the_file_name
Run Code Online (Sandbox Code Playgroud)


Jay*_*odi 31

您需要授予执行和读取权限。按照这个:

    chmod u+r+x filename.sh
    ./filename.sh
Run Code Online (Sandbox Code Playgroud)

当我们创建新的脚本文件时,默认情况下它具有读写权限。但是如果我们想执行它们,那么我们应该通过上面显示的方式给予执行权限。

请注意,仅执行位对于 shell 脚本是不够的:一个人必须能够读取文件以及执行它(与只需要执行权限位的二进制文件相反)。

  • u(用户)+rx(添加读取和执行权限) (2认同)
  • 事实上,第二个“plus”可以省略——“u+rx”。 (2认同)