반응형
유닉스 계열 시스템에서 source
명령어는 스크립트를 현재 셸 환경에서 실행하기 위해 사용됩니다.source
명령어는 주로 셸 스크립트 내에서 설정한 변수나 함수를 현재 셸 세션에 적용할 때 유용합니다.source
명령어는 Bash와 같은 많은 셸에서 제공되며, 일부 셸에서는 .
(마침표) 명령어로 동일한 기능을 수행합니다.
1. source
명령어의 주요 기능
- 스크립트 실행:
- 스크립트를 현재 셸 환경에서 실행하여, 스크립트에서 정의된 변수, 함수, alias 등을 현재 셸 세션에 적용합니다.
- 환경 설정 파일 로드:
- 셸 환경 설정 파일(
.bashrc
,.profile
등)을 현재 셸 세션에 로드하여 설정을 즉시 적용할 수 있습니다.
- 셸 환경 설정 파일(
2. 기본 사용법
source filename
또는
. filename
3. 예제
1. 변수 설정 스크립트 실행
vars.sh
라는 스크립트가 있다고 가정해봅시다. 이 스크립트는 환경 변수를 설정합니다.
# vars.sh
export MY_VAR="Hello, World!"
이 스크립트를 source
명령어로 실행하면, 설정된 변수가 현재 셸 세션에 적용됩니다.
source vars.sh
echo $MY_VAR # 출력: Hello, World!
2. 함수 정의 스크립트 실행
functions.sh
라는 스크립트가 있다고 가정해봅시다. 이 스크립트는 함수를 정의합니다.
# functions.sh
my_function() {
echo "This is my function"
}
이 스크립트를 source
명령어로 실행하면, 정의된 함수를 현재 셸 세션에서 사용할 수 있습니다.
source functions.sh
my_function # 출력: This is my function
3. 환경 설정 파일 로드
유닉스 계열 시스템에서 셸 환경 설정 파일을 다시 로드하여 변경 사항을 적용할 때 source
명령어를 사용합니다. 예를 들어, .bashrc
파일을 편집한 후 변경 사항을 즉시 적용하려면 다음과 같이 할 수 있습니다.
source ~/.bashrc
4. 차이점: source
vs. 실행 권한
source
명령어와 스크립트를 직접 실행하는 것의 차이는 실행 환경에 있습니다. 스크립트를 직접 실행할 때는 자식 셸에서 실행되고, source
명령어는 현재 셸에서 실행됩니다.
1. 스크립트 직접 실행
./vars.sh
이 경우, vars.sh
스크립트에서 설정한 변수는 자식 셸에서만 유효하며, 현재 셸 세션에서는 적용되지 않습니다.
2. source
명령어 사용
source vars.sh
이 경우, vars.sh
스크립트에서 설정한 변수는 현재 셸 세션에 적용됩니다.
5. 요약
source
명령어: 스크립트를 현재 셸 환경에서 실행합니다. 셸 스크립트에서 설정된 변수, 함수, alias 등을 현재 셸 세션에 적용합니다.- 기본 사용법:
source filename
또는. filename
- 주요 용도:
- 환경 설정 파일 로드
- 스크립트에서 정의된 설정을 현재 셸 세션에 적용
- 함수 및 변수 정의를 현재 셸에서 사용 가능하게 설정
반응형
'언어 > Bash' 카테고리의 다른 글
[ Bash ] LS_COLORS - shell에서 폴더의 글자 색상 변경하기 (0) | 2024.11.01 |
---|---|
[ Bash ] history 명령어를 확장해서 사용하기 (0) | 2024.06.30 |
[ Bash ] fc 명령어로 history 기능을 활용하기 (0) | 2024.06.30 |
[ Bash ] 유닉스 쉘 종류 구분하기 (0) | 2024.06.30 |
[ Bash ] 백그라운드 작업 시키기 (0) | 2024.06.09 |