chmod가 Mac에서 작동하지 않습니다

chmod가 Mac에서 작동하지 않습니다

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

관련 정보