우분투 12.04.1 LTS를 실행합니다. 그리고 프로필 파일을로드하는 순서 / 우선 순위가 무엇인지 알 수 없습니다. 시스템을 시작하고 GUI를 사용하여 로그인하면 어떤 파일이로드됩니까? 그리고 왜? login-shell을 실행하면 어떻게 되나요? 동일합니까? 실제로 지금은 ~/.profile
시스템이 시작될 때 왜 로드되지 않는 이유를 알 수 없습니다 .
답변
모든 파일에서 변수를 정의 할 수 있습니다.
ORDER=${ORDER}+"/etc/profile"
각기
ORDER=${ORDER}+"~/.profile"
그리고 수행
echo ${ORDER}
무엇을 포함하고 어떤 순서로 볼 수 있습니다. 당신이 놓친 다른 스크립트가 있다면 물론 그것은 당신에게 말하지 않을 것입니다.
따라서 하나의 소스가 언급 된 경우 해당 스크립트를 읽고 하나의 스크립트가 다른 스크립트를 제공하는지 여부를 확인하십시오.
/etc/bash.bashrc와 ~ / .bashrc와 ~ / .bash_login뿐만 아니라 / etc / default의 것들도 떠 오릅니다.
답변
그것은 모두 로그인하려는 사용자에 따라 다릅니다. 전역 /etc/profile
파일은 모든 사용자에 대해 로드 되고 반면에는 사용자 에 ~/.profile
대해서만로드됩니다.
~
현재 사용자의 홈 디렉토리를 가리 킵니다. 따라서 파일을 넣고로 /home/user-a/.profile
로그인 user-a
하면 전역 파일과 사용자 별 파일이 순서대로로드되지만 파일 user-b
없이 로그인 .profile
하면 전역 파일 만로드됩니다.
답변
둘 다로드되고 ~ / .profile이 마지막에로드되어야합니다 (즉, 우선 순위가 있음).
답변
그것은 내 잘못이야. 내 ~ / .profile에 [[some_test]]가 있고 bash에서 제대로 실행되지만 dash는 세션 시작시 pre_session_creation / post_session_creation 명령을 실행하고 대시는 [[키워드를 알지 못합니다. 그래서 모든 것이로드되었지만 오류가 발생했을 때 중지되었습니다.