it-swarm-ko.tech

bashrc 또는 bash_profile?

두 bash 로그인 스크립트의 차이점을 알고 있습니다.

.bashrc는 "비 로그인"셸에서만 실행됩니다.

.bash_profile (또는 .bash_login 또는 .profile)은 "로그인"쉘에 의해 실행됩니다.

누구든지 .bash_profile에만 입력하도록 로그인 전용 실행에 더 적합한 것들에 대한 좋은 예를 가지고 있지만 실제로 .bashrc에서는 의미가 없습니까?

(저는 우리 대부분이 .bashrc에서 .bash_profile 소스를 알고 있으므로 반대되는 질문에는 그다지 중요하지 않은 것 같습니다 ...)

49
Don Faulkner

.bashrc는 비 로그인 쉘용이므로 화면에 에코되는 명령을 피합니다. 또한 .bashrc의 echo 문으로 인해 sftp 및 rsync 명령이 실패 할 수도 있습니다 (그리고 scp 명령도 발생할 수 있음).

# Print some information as we log in
# -s: OS Name -n: Node name -r: OS Release
uname -snr
uptime

또한 일반적으로 비 대화식 셸에서 ssh-agent를 실행하지 않습니다. .bash_profile에 있습니다.

if [ -f ~/.ssh/ssh-agent ]; then . ~/.ssh/ssh-agent; fi
24
Stefan Lasiewski

Byobu는 절대로 .bashrc에 넣지 말아야 할 좋은 예입니다.

그렇지 않으면 '가상 터미널'의 모든 하나에서 재귀 적으로 실행됩니다. ;-)

당신은 그것을 시도 할 수 있습니다, 그것은 일종의 재미입니다.

.profile에 넣은 이유는 byobu (실제로 화면을 감싸는 래퍼)는 로그인시 한 번만로드 된 것입니다. 그리고 byobu 자체가 새로운 대화식 bash 세션을 시작할 수 있습니다.

8
Ralf