tmux가 시작되거나 새 창을 열 때 my .profile
또는 .bashrc
. 나는 . ~/.bashrc
매번 타이핑을 한다. 이 작업을 자동으로 수행 할 수있는 방법이 있습니까?
답변
예, 끝에 .bash_profile
다음 줄을 입력하십시오.
. ~/.bashrc
이것은 일반적으로 프로파일 만 처리하는 상황에서 rc 파일을 자동으로 소스합니다.
bash
특정 파일이 실행 되는시기에 관한 규칙 은 복잡하며 명령 줄 인수 및 환경 변수와 함께 시작되는 셸 유형 (로그인 / 비 로그인, 대화 형 여부 등)에 따라 다릅니다.
man bash
출력 에서 볼 수 있습니다. 찾아보세요. INVOCATION
요약하고 디코딩하는 데 약간의 시간이 필요할 것입니다. 🙂
답변
bash를 실행하면 ~ / .tmux.conf 파일에 다음 줄을 추가하여 명시 적으로 도움이되었습니다.
set-option -g default-command "exec /bin/bash"
답변
이전 답변은 해결책을 제공했지만 이유를 설명하지 않았습니다. 여기있어.
이것은 Bash init 파일과 관련이 있습니다. 기본적으로 ~/.bashrc
는 대화식 비 로그인 셸에서 사용됩니다. 로그인 셸에서 제공되지 않습니다. Tmux는 기본적으로 로그인 셸 을 사용합니다 . 따라서 tmux skip에 의해 시작된 쉘은 ~/.bashrc
.
default-command
쉘 명령기본값은 옵션 값을 사용하여 로그인 셸을 만들도록 tmux에 지시 하는 빈 문자열
default-shell
입니다.
Bash 용 초기화 파일,
- 로그인 모드 :
/etc/profile
~/.bash_profile
,~/.bash_login
,~/.profile
(존재하는 경우에만 제 한)
- 대화 형 비 로그인 :
/etc/bash.bashrc
(일부 Linux, Mac OS X 제외)~/.bashrc
- 비대화 형 :
- 소스 파일
$BASH_ENV
- 소스 파일
이상한 대화 형 비 로그인로드 요구 사항은 다른 상황에서도 사람들을 혼란스럽게합니다. 최상의 솔루션 의 로딩 요구 사항을 변경하는 ~/.bashrc
등의 경우에만 대화 형 정확히 우분투 같은 일부 배포판,하고있는 일이다.
# write content below into ~/.profile, or ~/.bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
이것이 여러분이 원하는 솔루션이어야합니다. 그리고 모든 Bash 사용자가 프로필에 이것을 설정하는 것이 좋습니다.
참고 문헌
- Unix 쉘 초기화
man tmux
답변
답변
나를 위해 일한 솔루션은 다음과 같습니다.
.bash_profile
파일이없는 경우 파일을 만듭니다.~
- 의 끝에
.bash_profile
넣어source ~/.bashrc
또는source ~/.profile
- tmux를 다시 시작하십시오.
이제 문제가 해결되어야합니다.