별명 및 TMUX 정의 .bash_aliases와 .bashrc작동하지 않습니다 tmux. 일부 구성에서이를

별칭에 정의 .bash_aliases.bashrc작동하지 않습니다 tmux.

일부 구성에서이를 변경할 수 있습니까 tmux?



답변

tmux기본적으로 로그인 셸을 시작하므로 ~/.bashrc실행되지 않습니다 (이후 ~/.bash_aliases소스 ~/.bashrc를 제공합니다 ~/.bash_profile. 에서 소스 를 제공해야합니다 . INVOCATION섹션 참조 ) man bash.


답변

( Chris Down의 답변 에는 올바른 설명이 있지만 좋은 해결 방법은 아닙니다)

문제는 bash 디자인 버그와 tmux 디자인 버그의 조합에서 비롯됩니다.

기본적으로 tmux는 모든 창에서 로그인 쉘을 시작합니다. 이것은 의미가 없습니다. tmux를 로그인 쉘로 설정 한 경우, default-command옵션을 tmux 이외의 것으로 설정해야합니다 . tmux를 로그인 쉘로 설정하지 않은 경우 tmux 내에서 로그인 쉘 default-command을 시작하지 않도록 옵션을 설정해야합니다 . 따라서 이것을 ~/.tmux.conftmux에게 일반 쉘을 시작하도록 지시 하십시오 .

set-option -g default-command $SHELL

그럼 당신의 .bashrc읽을 것입니다. bash에 또 다른 문제가 있습니다. 위에서 권장 한대로 tmux를 구성하면 여기서는 중요하지 않지만 텍스트 모드 (텍스트 콘솔 또는 SSH를 통해)로 로그인하면 다시 나타납니다. Bash ~/.bash_profile는 로그인 쉘과 ~/.bashrc대화식 쉘에서 읽지 만 로그인 쉘이 아닌 경우에만 읽습니다 . ~/.bashrc대화식 인 경우 로그인 쉘에서 읽으려면 다음에 추가하십시오 ~/.bash_profile.

case $- in *i*) . ~/.bashrc;; esac


답변