나는 이것을 시도했다
./home/user/scripts/someScript
하지만 작동하지 않습니다
그러한 파일이나 디렉토리가 없습니다
어떤 아이디어?
답변
명령의 선행 점은 “현재 디렉토리에 상대적”을 의미합니다. 그것을 제거하면 ” someScript
디렉토리 의 파일 /home/user/scripts
:
/home/user/scripts/someScript
“권한이 거부되었습니다”가 표시되면 다른 사용자의 디렉토리에있는 파일에 액세스 할 수있는 권한이 없거나 파일이 실행 가능하지 않기 때문입니다. 실행 가능하게하려면 다음을 실행하십시오.
chmod +x /home/user/scripts/someScript
답변
스크립트가 실행되는 동일한 폴더에있는 리소스에 액세스해야하고 상대 경로로 지정한 경우 스크립트가 중단됩니다.
나는 항상 cd $(dirname $0)
스크립트 헤드에 a 를 추가 하여 스크립트를 포함하는 폴더가 루트 폴더가되도록합니다.
답변
제거 .
실행 가능한 scrip을 실행 가능하게 만들면 chmod 755 <nameofscript>
스크립트 경로 만 입력하면됩니다.
./script
사용되는 것을 볼 때 스크립트가 실행중인 디렉토리에 스크립트가 있음을 쉘에 알려줍니다. 전체 경로를 사용하려면을 입력하십시오 sh /home/user/scripts/someScript
.