
スクリプト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.pl
Perlスクリプトへの絶対パスを指定します。