最初にシェルでインタプリタを定義せずに、./program
などのプログラムを直接実行したいと思います。だから、どうすればこのエラーを防ぐことができますか?
悪い通訳:許可が拒否されました
私のオペレーティングシステムは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]#
noexec
オプション(おそらく/tmp
)でマウントされたパーティションからプログラムを実行しようとしています。それらをexec
権限でマウントされているディレクトリに移動するか、
mount -o remount,exec /tmp
(rootとして)プログラムを/tmp
で実行できるようにします。 /etc/fstab
またはinitスクリプトからnoexec
オプションを削除することで、この動作を永続的にすることができます。
ロングショットですが、/tmp
はnoexec
マウントオプションでマウントされません。それはそのようなエラーを与える可能性があります。