Perl スクリプトの権限

Perl スクリプトの権限

Perl スクリプトの実行でいくつか問題があります。スクリプトを実行しようとするたびに (runescape ランチャー クライアントから)、ターミナルに次のメッセージが表示されます。許可が拒否されました

これをどうすれば修正できますか?

答え1

可能性は2つあります。

  • スクリプト自体には実行権限がありません。解決策:

chmod +x script-name

  • (可能性は低い)指定された通訳者はシバン行は実行できません。

通常、スクリプトの最初の行は次のようになります。

#!/usr/bin/perl

そうであり、スクリプト自体が実行可能である場合は、次を試してください。

if [ -x /usr/bin/perl ] ; then echo ok ; else echo OOPS ; fi

または、デフォルトのシェルが csh または tcsh の場合:

sh -c 'if [ -x /usr/bin/perl ] ; then echo ok ; else echo OOPS ; fi'

と表示される場合はok、何か非常に奇妙なことが起こっています。 と表示される場合はOOPS、Perl インタープリタが実行可能ではありません。これは、おそらく、正しくインストールされていないことを示しています。その場合、簡単な修正を提案するつもりはありません。

もう一つの考え: メッセージはスクリプト自体の実行から生じたものでしょうか、それともスクリプトが行う何かから生じたものでしょうか?

コマンドラインからスクリプトを実行するとエラーが表示されますか?もしそうなら、

print "Hello\n";

スクリプトの先頭付近で、「Permission denied」メッセージの前に「Hello」が表示されていますか? もしそうなら、問題はスクリプトのどこかにあります (それについては情報がありません)。 自分で絞り込むことができるはずです。

答え2

それが何なのか分かりました。Java のインストールに関係していました。

関連情報