.profile .bash_profile과 .bashrc의 기능적 차이점은 무엇입니까?


답변:


151

.bash_profile.bashrc에 고유 한 bash반면, .profile자신의 쉘 고유의 설정 파일의 부재에 많은 조개 읽습니다. ( .profile본래 Bourne 쉘에서 사용되었습니다.) .bash_profile또는 .profile로그인 쉘에서 .bashrc; 와 함께 읽습니다 . 서브 쉘은 읽기 전용 .bashrc입니다. (작업 제어 및 현대 윈도우 시스템 사이, .bashrc그 자체로 많이 사용되지 않습니다. 당신이 사용하는 경우 screen또는 tmux, 화면 / 창은 일반적으로 대신 로그인 쉘의 서브 쉘을 실행합니다.)

이것에 대한 아이디어는 일회성 설정이 .profile(또는 셸 특정 버전) 수행되고 셸별 구성이 수행되었다는 것 .bashrc입니다. 예를 들어, 일반적으로 세션 내에서 서브 쉘을 시작할 때마다 환경 변수를 세션 당 한 번만로드하는 대신 환경 변수를로드하는 대신 항상 별칭을 원합니다 (환경 변수와 같이 자동으로 전파되지는 않음).

다른 주목할만한 쉘 설정 파일들 :

/etc/bash_profile(fallback /etc/profile)은 .profile시스템 전체 구성을 위해 사용자 앞에 읽히고 마찬가지로 /etc/bashrc서브 쉘에서 읽습니다 (이것에 대한 폴백 없음). 우분투는 또한 사용을 포함하여 많은 시스템 /etc/profile.d이다 쉘 스크립트 릿을 포함하는 디렉토리를 .( source)에서 -ed /etc/profile; 여기에있는 조각들은 *.sh모든 Bourne / POSIX 호환 쉘과 해당 특정 쉘에 적용되는 다른 확장에 적용되는 쉘 단위입니다.


58

.프로필

.profileBash환경 변수 PATH및 친구와 같이 특별히 관련이없는 것들을위한 것이며 언제든지 사용할 수 있어야합니다.

예를 들어 .profile그래픽 데스크탑 세션을 시작할 때도로드해야합니다.


.bashrc

.bashrc와 같은 대화 형 Bash 사용법 구성, Bash aliases즐겨 찾기 editor설정, 설정 Bash prompt등을위한 것입니다.


.bash_profile

.bash_profile에가있는 것을 모두 확인하기위한 것입니다 .profile.bashrc로드된다 login shells.

예를 들어, .bash_profile다음과 같은 간단한 것일 수 있습니다.

. ~/.profile
. ~/.bashrc

생략 .bashrc하면 .profile로드됩니다.


1
이것은 Mac OS X
Jake Toronto에

38

bash 매뉴얼 페이지에 따르면 .bash_profile로그인 셸에서는 .bashrc실행되고 대화 형 비 로그인 셸에서는 실행됩니다.

그렇다면 로그인 또는 비 로그인 셸이란 무엇입니까?

콘솔을 통해 로그인 할 때 (시스템에 앉아 있거나 ssh :를 통해 원격으로) .bash_profile초기 명령 프롬프트 전에 쉘을 구성하기 위해 실행됩니다. 그러나 이미 컴퓨터에 로그인하여 Gnome 또는 KDE 내에서 새 터미널 창 (xterm)을 열면 .bashrc창 명령 프롬프트 전에 실행됩니다. 터미널 .bashrc에 입력하여 새 bash 인스턴스를 시작할 때도 실행됩니다 /bin/bash.

터미널 창 지침에 대한 예외는 Mac OS X의 Terminal.app입니다.이 터미널은 새 터미널 창마다 기본적으로 로그인 쉘을 실행하고 .bash_profile대신을 호출 합니다 .bashrc. 다른 GUI 터미널 에뮬레이터도 동일하지만 대부분 그렇지 않습니다.

여기에 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.