한 스크립트가 다른 스크립트를 호출하면 권한이 거부되었습니다.

한 스크립트가 다른 스크립트를 호출하면 권한이 거부되었습니다.

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

관련 정보