[리눅스]쉘 스크립트 파일 실행방법 - 출처 OmeGa
쉘스크립트 (파일) 실행방법
사용할 명령어를 모아놓은 쉘 스크립트를 실행하는 방법에는 여러 가지가 있습니다.
일반적으로 chmod 명령을 통해 사용권한을 부여한 뒤 실행하는 방법과,
권한을 부여하지 않고도 실행할 수 있는 방법이 있습니다.
또한, 환경변수 PATH에 등록한다면 일반 명령어처럼 사용할 수도 있습니다.
1. 권한 부여 후 실행
파일을 작성한 뒤 파일에 "chmod 755 <파일명>" 명령을 통해 실행권한을 부여합니다.
이후 "./<파일명>" 명령으로 실행할 수 있습니다.
파일에 권한 부여 후 실행하는 방법
파일에 권한을 부여하는 chmod 명령을 실행한 뒤 파일의 이름 색깔이
초록색으로 바뀐 것을 확인할 수가 있습니다.
이후 "./test.sh" 명령을 통해 실행한다면 정상적으로 이루어집니다.
2. 권한없이 실행
bash 쉘을 이용한 스크립트의 경우 확장자가. sh입니다.
파일을 실행할 때 "sh <파일명>"으로 실행한다면 권한 없이
바로 파일을 실행할 수 있습니다.
만약 파이썬의 경우 "python <파일명>"으로 실행합니다.
권한 없이 실행
chmod 명령으로 권한을 부여하지 않고도 파일을 실행하는 방법입니다.
확장자가. sh인 bash쉘 스크립트라면 "sh <파일명>"으로 실행하더라도
문제없이 정상적으로 실행되는 것을 볼 수 있습니다.
3. 환경변수 PATH에 등록 후 실행
env 명령으로 볼 수 있는 환경변수 중 하나인 PATH에 파일의 경로를
추가한다면 위치에 상관없이 "ls , pwd"같은 명령처럼 아무데서나
사용할 수 있습니다. 이렇게 만들기 위해서는 1번 방법과 같이 권한을 부여한 뒤
"echo $PATH" 명령을 통해 볼 수 있는 환경변수 뒤에 경로를 추가합니다.
경로를 추가할 때는 export 명령을 사용하며 만약 경로가 "/tmp/user/" 라면
"export PATH=$PATH:/tmp/user/"형식으로 사용합니다.
환경변수 PATH에 등록 후 실행
파일이 있는 위치를 환경변수 중 하나인 PATH에 등록해서 일반 명령어처럼
사용하는 방법입니다. 환경변수를 등록할 때는 export 명령을 사용하며
"export PATH=<경로>" 명령으로 설정할 수 있습니다.
위처럼 "export PATH=$PATH:/tmp/shell/" 명령을 사용한 이유는 기존의 환경변수를
"$PATH"로 불러들인 후 그 뒤에 /tmp/shell/ 경로를 추가하기 위해 사용했습니다.
여기서 각 경로를 구분하기 위해 " : " 기호를 사용합니다.
따라서 새로운 경로를 추가하기 위해서는 "export PATH=$PATH:[경로]" 명령을 사용합니다.
경로가 추가되고 난 후 /tmp/shell 안에 있는 모든 파일은 다른 위치에서도
일반 명령어처럼 사용할 수 있습니다.
(다만, 이 방법은 재부팅 시에 초기화됩니다.)