我想直接运行程序,而./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 选项进行安装。否则可能会出现类似错误。