스크립트를 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 스크립트에 대한 절대 경로를 제공하십시오.