当一个脚本调用另一个脚本时权限被拒绝

当一个脚本调用另一个脚本时权限被拒绝

我有一个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 脚本的绝对路径。

相关内容