【 개발 이야기 】

터미널 source 명령어

홍호나 2023. 7. 26. 10:46

`source` 명령어는 현재 쉘 세션에서 셸 스크립트 파일을 실행하고, 현재 쉘 세션에 스크립트 파일의 환경 변수와 함수를 적용하는 데 사용됩니다. 또는 Bash 쉘에서는 `source` 명령어 대신에 `.`(닷)을 사용할 수도 있습니다.

일반적으로 스크립트 파일은 새로운 서브 쉘에서 실행되며, 서브 쉘은 부모 쉘과는 별개의 쉘 환경을 가지고 실행됩니다. 그래서 스크립트 파일에서 정의한 환경 변수와 함수는 스크립트 파일이 종료되면서 사라집니다.

`source` 명령어를 사용하면 스크립트 파일이 새로운 서브 쉘이 아닌 현재 쉘에서 실행되므로, 스크립트 파일에서 정의한 환경 변수와 함수가 현재 쉘 세션에 적용됩니다. 이를 통해 스크립트 파일을 실행하고 난 뒤에도 해당 세션에서 적용된 변경사항이 유지됩니다.

`source` 명령어를 사용하는 방법은 다음과 같습니다:

source filename


또는 `.`(닷)을 사용할 수도 있습니다:

. filename


여기서 `filename`은 실행하려는 셸 스크립트 파일의 경로입니다. `.sh` 확장자가 없어도 됩니다. `source` 명령어를 사용할 때, 스크립트 파일은 실행 권한이 필요하지 않습니다. 

`source` 명령어는 주로 환경 변수를 설정하거나 사용자 정의 함수를 로드하는 데 사용되며, 스크립트 파일의 변경사항을 현재 쉘 세션에 적용하려는 경우 유용합니다.