리눅스 쉘프로그래밍에서 source 명령어

luke419의 이미지

아래와 같은 글이 있습니다.

-------------------------------------
source name

단, 여기에서 name 는 C shell script 이다. 이 명령어를 사용하면, C Shell 은
name 에 있는 명령들을 읽어서 실행을 할 것이다. 정상적으로 실행하는
것과 다른 점은 subshell 이 생기지 않는다는 것이다.
-------------------------------------

여기서 subshell이 생기지 않는다는 것이 구체적으로 무엇을 의미하는 건지요?

그리고 아래와 같은 예제가 있는데요,

– in kornshell : . ${HOME}/.prgmrc
– in C–shell : source ${HOME}/.prgmrc

bash shell은 C-shell로 봐야하나요?

그럼..

danskesb의 이미지

bash 셸에서도 source 명령어를 실행시키면 똑같은 작용을 하나, bash 스크립트를 실행시킵니다. 흔히 홈 폴더에 있는 .bashrc 같은 것도 하나의 스크립트입니다. 절대로 bash 셸을 C 셸로 봐도 된다는 의미에서 이런 말을 한 건 아닙니다. 단지 명령어가 같은 것 뿐입니다.

---- 절취선 ----
http://blog.peremen.name