설치시우심실 VM다음 메시지를 받았습니다:
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/home/dotancohen/.bash_profile':
source ~/.profile
xmodmap ~/.Xmodmap
내 ~/.profile 파일에 새 셸을 열 때마다(CapsLock 및 ESC 키 교체) 실행하고 싶지 않은 파일이 포함되어 있기 때문에 걱정됩니다 .
현명한 RVM 개발자가 .profile
구매를 권장하는 이유는 무엇입니까 .bash_profile
?
답변1
.profile
.bash_profile
실행 시간 측면에서는 동일합니다. 즉, 로그인할 때 실행됩니다. 차이점은 Bash만 실행된다는 것입니다 .bash_profile
. Bourne 스타일 쉘(dash, ksh 등)은 실행됩니다 .profile
. 존재하지 .profile
않으면 .bash_profile
Bash 자체가 실행됩니다.
bash를 로그인 셸로 사용하더라도 .profile
일반적으로 그래픽 모드로 로그인할 때 실행되는 셸입니다. 많은 배포판 sh
에는 X 세션 시작 스크립트가 .profile
.
따라서 환경 변수 정의 등의 작업을 수행하는 .profile
대신 사용하는 것이 좋습니다 . .bash_profile
bash 특정 기능이 절대적으로 필요한 경우가 아니라면 모든 것을 에 넣으십시오 .profile
. 그러나 그렇게 하더라도 를 유지해야 하는 이유가 있습니다 .bash_profile
. 즉, bash가 이를 로드할 때 .bashrc
대화형이더라도 로드되지 않습니다. 따라서 대부분의 사람들은 ~/.bash_profile
다음 두 줄로 구성되어야 합니다.
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
xmodmap
도망 치면 안 돼요 .profile
. 새 셸을 열 때는 이런 일이 발생하지 않지만, 예를 들어 X11 전달과 함께 SSH를 사용하여 원격으로 로그인하는 경우에는 발생합니다. 불행하게도 그래픽 모드로 로그인하면 표준 파일이 로드되지 않습니다. 데비안 로드 ~/.xsessionrc
(Gdm 로드를 제외한 모든 디스플레이 관리자에 적용되는 것 같습니다 ~/.xprofile
). 다른 배포판에는 다른 설정이 있습니다. 배포판 간 이식성이 필요한 경우 xmodmap
시작 시 실행되도록 데스크톱 환경을 구성하는 것이 더 쉬울 수 있습니다. CapsLock과 Ctrl을 바꾸는 것이 전부라면 대부분의 최신 데스크탑 환경에서 제공되는 인터페이스의 XKB 설정을 사용하여 이를 수행할 수 있습니다.
답변2
.bash_profile
bash(1)는 를 읽는 유일한 셸이고 , 다른 Bourne 셸 파생 프로그램은 만 읽는다는 점을 명심하세요 .profile
. 가끔 다른 쉘을 사용한다면 .profile
.