あるスクリプトが別のスクリプトを呼び出すと、権限が拒否されました。

あるスクリプトが別のスクリプトを呼び出すと、権限が拒否されました。

スクリプトshを呼び出すスクリプトがあります。perl

スクリプトを実行するとperl動作しますが、スクリプトを実行するとスクリプトはsh実行されません。perl

Permission denied

どちらのスクリプトchmod a+rxも、ディレクトリはですchmod a+rx。したがって、これは間違っています。

原因は何ですか?

$ cat script.sh
#!/bin/sh

d=$(date +%Y-%m-%d)

cd /home/rwb/thing
ls -l script*
pwd
script.pl

$ ./script.sh
-rwxr-xr-x 1 rwb rwb  5756 Feb 14 16:04 script.pl
/home/rwb/thing
./script.sh: 8: ./script.sh: script.pl: Permission denied

ベストアンサー1

script.plまたは、その親ディレクトリは変数に表示されません$PATH

したがって、./プレフィックス(現在の作業ディレクトリ)を使用して参照する必要があります。

シェルスクリプトの行をからに変更するscript.plか、./script.plPerlスクリプトへの絶対パスを指定します。

おすすめ記事