Respostas:
tmux
lança um shell de login por padrão, portanto ~/.bashrc
, não será executado (que posteriormente origina ~/.bash_aliases
. Você precisa originar a ~/.bashrc
partir do seu ~/.bash_profile
. Consulte a INVOCATION
seção man bash
.
( A resposta de Chris Down tem a explicação correta, mas não uma boa solução alternativa)
Seu problema decorre de uma combinação de um bug de design do bash e de tmux.
Por padrão, o tmux inicia um shell de login em todas as janelas. Isso não faz sentido: se você configurou o tmux como seu shell de login, precisará definir a default-command
opção para algo diferente de tmux; e se você não tiver definido o tmux como seu shell de login, precisará definir a default-command
opção para evitar iniciar um shell de login no tmux. Então faça beicinho no seu ~/.tmux.conf
e diga ao tmux para iniciar um shell comum:
set-option -g default-command $SHELL
Então você .bashrc
será lido. Há outro problema com o bash, que não importa aqui se você configurar o tmux conforme recomendado acima, mas que voltará à tona novamente se você efetuar login no modo de texto (em um console de texto ou por SSH). O Bash lê ~/.bash_profile
em shells de login e ~/.bashrc
em shells interativos, mas apenas se eles não forem shells de login. Para ler ~/.bashrc
também nos shells de login, se eles forem interativos, adicione isso ao seu ~/.bash_profile
:
case $- in *i*) . ~/.bashrc;; esac
tmux
? Uso o tmux há cerca de um ano e não vi nenhum problema com aliases. Tente adicionarset -x
no início.bashrc
e execute otmux
comandosource ~/.bashrc
. Pode ser que você encontre erros e resolverá o seu problema.