“로그인 쉘로 명령 실행”의 기능은 무엇입니까?


28

몇 개의 개별 프로그램이 설치되어 있는데, 그 중 일부는 GUI 터미널 설정으로 이동하여 "로그인 명령으로 명령 실행"옵션을 활성화 / 비활성화해야합니다.

예:

Ruby on Rails를 설치 했습니다 . 불행히도 터미널 옵션으로 이동하여 "로그인 명령으로 실행 명령"을 활성화해야 PATH에 있습니다.

이 옵션이 비활성화 된 경우에만 작동하는 sexy-bash-prompt를 설치하기 전까지는 큰 문제가 아니 었습니다 .

내 질문은 본질적으로 "로그인 쉘로 명령 실행"은 무엇을 하는가? 로그인 셸로 실행할 때 실행 중지되었을 때 실행되는 항목을 얻는 방법이 있습니까?

답변:


31

쉘이 Bash (Ubuntu의 기본값)라고 가정하면 다음과 같은 차이점이 있습니다.

  • 로그인 셸로 실행할 때 Bash는 시작할 때 읽습니다 ~/.bash_profile(또는 존재하지 않는 경우 ~/.profile). 경우에 따라이 파일도 읽습니다 ~/.bashrc.

  • 비 로그인 셸로 실행하면 Bash는을 읽습니다 ~/.bashrc.

그렇다면 로그인 / 비 로그인 셸로 실행할 때 왜 다른 동작이 보입니까? 당신의 .bash_profile/ 당신 .profile과 다른 일을하고 있기 때문에 .bashrc.

나는 귀하의 경우 추천이 솔루션은하는 것입니다 복사 에 만든 사용자 지정을 .bash_profile/ .profile, 붙여 넣기 로 그들을 .bashrc비활성화 "로그인 쉘과 같은 실행 명령".


알았어 나는 그것이 읽는 로그인 프로파일과 관련이 있다고 생각했다 (source.ing .bashrc는 내가 가진 문제 중 일부를 수정 함). 끔찍하게 쓰여진 질문에 대해 유감스럽게 생각합니다.
AlbertEngelB

간결한 설명에 감사드립니다. 사람들이 .bashrc에 사용자 정의를 유지하고 소스 .bashrc에 .bash_profile을 갖는 것을 보는 것은 드문 일이 아닙니다. 로그인 특정 사용자 정의는 .bash_profile에만 보관해야합니다.
MichaelZ

1
왜 .bashrc를 .bash_profile에 소싱하고 로그인 쉘을 켜 두지 않겠습니까? 그게 가능합니까?
Dr. Nefario 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.