이 줄을 ~/.bashrc
파일에 추가했습니다 .
alias myserver='ssh davidfaux@davidfaux.com'
그러나 터미널을 열고 실행 myserver
하면 터미널이
-bash: myserver: command not found
그러나 .bashrc 파일을 소싱하면 ( . .bashrc
) 별칭이 작동합니다.
그럼에도 불구하고 별명을 사용하기 위해 터미널을 열 때마다 파일을 소스하고 싶지 않습니다. 어떻게하면 되나요?
답변
간단히 말해서, 별명을 잘못된 파일에 넣는 것이므로 .bashrc
새 로그인 터미널 인스턴스에서 별명이 작동하도록 소스를 계속 실행해야합니다.
.bashrc가 자동으로 실행되지 않는 이유에 대한 Chris Johnsen의 의견에서
기본적으로 터미널은 / usr / bin / login을 통해 쉘을 시작하여 쉘을 로그인 쉘로 만듭니다. 모든 플랫폼 (Mac OS X이 아닌)에서 bash는 로그인 쉘에 .bashrc를 사용하지 않습니다 (/ etc / profile 및 존재하고 읽을 수있는 .bash_profile, .bash_login, .profile 중 첫 번째 만). 이것이 바로“.bash_profile에 source ~ / .bashrc를 넣는 것”이 표준 조언 인 이유입니다.
자세한 내용은 다음 매뉴얼 페이지를 참조하십시오 bash
.
man bash
그런 다음 INVOCATION 섹션 아래를보십시오.
답변
당신은 항상 넣을 수 있습니다
if [ -n "$BASH_VERSION" ] && [ -f $HOME/.bashrc ];then
source $HOME/.bashrc
fi
파일 ~/.profile
또는 ~/.bash_profile
Mac에 생각합니다.
죄송합니다 . .profile
또는에 물건을 넣을 수 있습니다 .bash_profile
.