Python3 shebang -bash:./main.py:权限被拒绝

Python3 shebang -bash: ./main.py: Permission denied

提问人:Binsky734 提问时间:7/4/2023 最后编辑:Binsky734 更新时间:7/7/2023 访问量:47

问:

请实际阅读我的帖子,而不仅仅是标题。这是一个较大的系统问题,而不是拼写错误或文件权限问题。

我正在尝试运行我的脚本,而无需在每次测试运行之前输入“python3”,并且可能使调度 cron 作业更容易。无论我尝试过什么,我总是得到错误。我尝试了以下方法:-bash: ./main.py: Permission denied

  • 使用每个版本的 python 在“#!”后带或不带空格/usr/bin/
  • 将每个版本的 python 与 ./usr/bin/env [python version]
  • chmod 777/usr/bin
  • 在我的脚本目录中的每个文件和文件夹上运行。chmod 777
  • 运行脚本的用户同时位于 和 组中。rootwheel
  • 以 root 身份运行脚本会给出相同的结果。
  • 将 shebang 添加到我的脚本目录中的每个 python 文件中。

我在这里不知所措。我看到的关于此的所有其他帖子都只是说要做,这不适用于我的情况。chmod +x

编辑 1:我现在尝试重新安装 bash 和 python,并在我所有的脚本文件上运行,以确保 EOL 字符不是问题。没有运气。dos2unix

python-3.x bash RHEL7 舍邦

评论

1赞 tjm3772 7/4/2023
是否可以在没有任何修改的情况下处理脚本?发布一个示例脚本并调用它也会有所帮助。/usr/bin/python3 main.py
0赞 pjh 7/4/2023
你跑了吗?的输出是什么?chmod +x main.pyls -l main.py
0赞 Binsky734 7/4/2023
@tjm3772 Running 确实有效,但我也无法运行我为 cron 编写的 bash 脚本,它只是上一个命令,但具有 main.py 的绝对路径(复制和粘贴以避免拼写错误)/usr/bin/python3 main.pypwd
1赞 user1934428 7/4/2023
您没有发布脚本的 shebang 行(执行 )。您还应该向我们展示您如何调用脚本的确切方式,以及 or 的输出。head -n 1 SCRIPTstat SCRIPTNAMEls -l SCRIPT
1赞 Binsky734 7/7/2023
@CharlesDuffy我只是抛出了一个快速编辑,但我昨天正在处理另一个优先于这个项目的问题。我最终做了一些破坏原始服务器上的 SSH 和 Session Manager 的事情,但我启动的新服务器做了同样的事情。我查了一下,你是对的。主目录挂载了 noexec 标志,所以我只需要把它贴在 /usr/local 或其他东西中。

答:

0赞 Binsky734 7/7/2023 #1

最终的问题是脚本所在的目录设置了标志。noexec