我有一个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
变量中。
因此,您必须使用前缀./
(当前工作目录)来引用它。
将 shell 脚本中的行从 更改为script.pl
,./script.pl
或者提供 perl 脚本的绝对路径。