Respuestas:
tmux
inicia un shell de inicio de sesión de forma predeterminada, por ~/.bashrc
lo que no se ejecutará (que luego se origina ~/.bash_aliases
. Debe obtenerlo ~/.bashrc
de su ~/.bash_profile
. Consulte la INVOCATION
sección de man bash
.
( La respuesta de Chris Down tiene la explicación correcta pero no una buena solución)
Su problema proviene de una combinación de un error de diseño bash y un error de diseño tmux.
Por defecto, tmux inicia un shell de inicio de sesión en cada ventana. Esto no tiene ningún sentido: si ha configurado tmux como su shell de inicio de sesión, debe establecer la default-command
opción en algo diferente a tmux; y si no ha configurado tmux como su shell de inicio de sesión, debe configurar la default-command
opción para evitar iniciar un shell de inicio de sesión dentro de tmux. Así que pon esto en tu lugar ~/.tmux.conf
para decirle a tmux que inicie un shell ordinario:
set-option -g default-command $SHELL
Entonces tu .bashrc
será leído. Hay otro problema con bash, que no importa aquí si configura tmux como se recomienda anteriormente, pero que volverá a surgir si inicia sesión en modo texto (en una consola de texto o en SSH). Bash lee ~/.bash_profile
en shells de inicio de sesión y ~/.bashrc
en shells interactivos, pero solo si no son shells de inicio de sesión. Para leer ~/.bashrc
también en shells de inicio de sesión si son interactivos, agregue esto a su ~/.bash_profile
:
case $- in *i*) . ~/.bashrc;; esac
tmux
? Uso tmux aproximadamente durante un año y no he visto ningún problema con los alias. Intente agregarset -x
al comienzo de su.bashrc
y ejecutar entmux
comandosource ~/.bashrc
. Es posible que encuentre errores y resolverá su problema.