Mac의 명령줄에서 파일을 실행 가능하게 만들 수 없습니다. 터미널에 이렇게 입력했어요
cd ./Desktop
echo 'say hello' > hello
chmod +x hello
hello
파일을 두 번 클릭하면 실행되지만 명령줄에서는 실행할 수 없습니다. "명령을 찾을 수 없습니다"라는 메시지가 나타납니다.
답변1
명령에 두 가지 오류가 있습니다.
첫 번째 실수는 파일이 올바른 실행 형식이 아니라는 것입니다. 쉘 스크립트의 첫 번째 줄은 로 시작해야 합니다 #!
. 이러한 문자로 시작하지 않으면 쉘 스크립트가 아닙니다.
일부 쉘에는 이러한 잘못된 쉘 스크립트에 대한 해결 방법이 있습니다. 그러나 이러한 해결 방법은 스크립트가 셸에서 시작될 때만 작동하며, 다른 프로그램에서 스크립트가 시작될 때는 작동하지 않습니다. 또한, 다양한 셸에는 잘못된 형식의 셸 스크립트에 대한 다양한 솔루션이 있습니다.
전반적으로 이는 이러한 해결 방법에 의존하면 예측할 수 없는 동작이 발생하므로 항상 이 #!
줄을 포함해야 함을 의미합니다. 예를 들어 다음을 입력할 수 있습니다.
echo '#!/bin/sh' > hello
echo 'say hello' >> hello
또 다른 오류는 스크립트를 실행하려고 할 때 스크립트 경로를 제공하지 않는다는 것입니다. 다음을 입력해야 합니다:
./hello
를 입력하면 hello
쉘은 에서 명령을 검색합니다 PATH
. 보안상의 이유로는 .
아닙니다 . 쉘 스크립트 PATH
를 자주 작성해야 하는 경우 해당 쉘 스크립트용 디렉토리를 생성하고 해당 디렉토리를 PATH
.~/bin