3개의 구성 파일이 있습니다: .bashrc
source .bashrc_common
및 .profile
source .bashrc
. 불행하게도 Gnome에 로그인할 때 in .bashrc
명령을 찾을 수 없다는 오류 메시지가 나타납니다 . foo
그런데 foo
소스 파일에 정의되어 있는데 .bashrc
왜 찾을 수 없나요?
# .profile
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
# .bashrc_common
function foo {
echo "foo $1"
}
# .bashrc
source $HOME/.bashrc_common
#.....
foo "hello"
이것은 foo
터미널 bash 쉘의 모든 곳에서 작동하며 오류가 발생하는 Ubuntu 로그인일 뿐입니다.
답변1
.bashrc에서 얻은 파일에는 비대화형으로 호출할 때 실행을 방지하는 명시적인 보호 기능이 있습니다. 이야기의 교훈은 - Gnome 실행 구성 파일에 문제가 있는 경우 명시적인 "대화형 쉘에서만 실행" 검사가 없는지 다시 확인하십시오.
답변2
귀하의 GNOME은 대화형 비로그인 쉘이 아닌 로그인 쉘을 실행하고 있는 것 같습니다. 그 이유는bashrc출처가 없습니다.
그냥 끝에 추가하세요.bash_login다음과 같은:
source ~/.bashrc