test -x 로 실행 가능 여부 테스트
이 단계에서는 -x 옵션과 함께 test 명령을 사용하여 파일이 실행 가능한지 확인하는 방법을 배우게 됩니다. test 명령은 조건식 (conditional expression) 을 평가하는 내장 셸 명령입니다. -x 옵션은 특히 실행 권한을 확인합니다.
먼저, ~/project 디렉토리에 간단한 텍스트 파일을 만들어 보겠습니다. echo 명령을 사용하여 my_script.sh라는 파일에 텍스트를 넣습니다.
echo "echo 'Hello from the script!'" > ~/project/my_script.sh
이제 이 파일이 실행 가능한지 확인해 보겠습니다. 기본적으로, 이 방식으로 새 파일을 만들면 실행 권한이 없습니다.
test -x 명령을 파일 경로와 함께 사용합니다.
test -x ~/project/my_script.sh
이 명령을 실행한 후, 테스트가 성공하면 (즉, 파일이 실행 불가능하면) 아무런 출력도 표시되지 않습니다. 파일이 실행 가능했다면, test -x는 상태 코드 0 을 반환하는데, 이는 일반적으로 셸 스크립팅에서 "true" 또는 "success"로 해석되지만, 기본적으로 터미널에 아무것도 출력하지 않습니다.
test 명령의 결과를 확인하기 위해, $?를 사용하여 이전 명령의 종료 상태 (exit status) 를 확인할 수 있습니다. 종료 상태가 0이면 테스트가 참 (파일이 실행 가능) 이고, 0 이 아닌 상태 (일반적으로 1) 이면 테스트가 거짓 (파일이 실행 불가능) 임을 의미합니다.
echo $?
1이 출력되어 현재 my_script.sh가 실행 불가능함을 나타냅니다.
이제 chmod 명령을 사용하여 파일을 실행 가능하게 만들어 보겠습니다. chmod는 파일 및 디렉토리의 권한을 변경하는 데 사용됩니다. 파일 소유자에 대한 실행 권한을 추가하기 위해 +x를 사용합니다.
chmod +x ~/project/my_script.sh
이제 실행 가능성을 다시 테스트해 보겠습니다.
test -x ~/project/my_script.sh
그리고 종료 상태를 확인합니다.
echo $?
이번에는 0이 출력되어 파일이 이제 실행 가능함을 확인합니다.
마지막으로, 스크립트를 실행하여 출력을 확인해 보겠습니다.
~/project/my_script.sh
다음과 같은 출력을 볼 수 있습니다.
Hello from the script!
이는 파일이 성공적으로 실행 가능하게 되었고 실행되었음을 확인합니다.