![“糟糕的解释器:权限被拒绝”我该如何避免这个错误?](https://linux22.com/image/1276826/%E2%80%9C%E7%B3%9F%E7%B3%95%E7%9A%84%E8%A7%A3%E9%87%8A%E5%99%A8%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%E2%80%9D%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E8%BF%99%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9F.png)
我想直接运行程序,而./program
无需先在 shell 中定义解释器。那么,我该如何避免这个错误呢?
糟糕的解释器:权限被拒绝
我的操作系统是 redhat - CentOS 版本 5.6 (最终版)
root@server [/tmp/mechanize-0.1.7b]# ./functional_tests.py
-bash: ./functional_tests.py: /usr/bin/env: bad interpreter: Permission denied
root@server [/tmp/mechanize-0.1.7b]#
root@server [/tmp/Python-2.7.1]# ./configure
-bash: ./configure: /bin/sh: bad interpreter: Permission denied
root@server [/tmp/Python-2.7.1]#
答案1
noexec
您正在尝试从使用选项(可能是)安装的分区执行程序/tmp
。请将它们移动到使用权限安装的目录exec
,或使用
mount -o remount,exec /tmp
(以 root 身份)允许在 上执行程序/tmp
。您可以通过从init 脚本中删除该noexec
选项来使此行为持久化。/etc/fstab
答案2
可能性不大,但请确保/tmp
未使用noexec
mount 选项进行安装。否则可能会出现类似错误。