Les alias définis dans .bash_aliases
et .bashrc
ne fonctionnent pas tmux
.
Cela peut-il être modifié dans certaines configurations, de sorte que les alias fonctionnent sous tmux
?
command-line
terminal
tmux
xralf
la source
la source
tmux
? J'utilise tmux depuis environ un an et je n'ai vu aucun problème avec les alias. Essayez d'ajouterset -x
au début de votre.bashrc
et exécutez latmux
commandesource ~/.bashrc
. Vous trouverez peut-être des erreurs et cela résoudra votre problème.Réponses:
tmux
lance un shell de connexion par défaut, il~/.bashrc
ne sera donc pas exécuté (qui ensuite les sources~/.bash_aliases
. Vous devez source à~/.bashrc
partir de votre~/.bash_profile
. Voir laINVOCATION
section deman bash
.la source
( La réponse de Chris Down a la bonne explication mais pas une bonne solution)
Votre problème provient d'une combinaison d'un bogue de conception bash et d'un bogue de conception tmux.
Par défaut, tmux démarre un shell de connexion dans chaque fenêtre. Cela n'a aucun sens: si vous avez défini tmux comme shell de connexion, vous devez définir l'
default-command
option sur autre chose que tmux; et si vous n'avez pas défini tmux comme shell de connexion, vous devez définir l'default-command
option pour éviter de démarrer un shell de connexion dans tmux. Alors faites la moue dans votre~/.tmux.conf
pour dire à tmux de démarrer un shell ordinaire:Ensuite, votre
.bashrc
sera lu. Il y a un autre problème avec bash, qui n'a pas d'importance ici si vous configurez tmux comme recommandé ci-dessus, mais qui réapparaîtra si vous vous connectez en mode texte (sur une console texte ou via SSH). Bash lit~/.bash_profile
dans les shells de connexion et~/.bashrc
dans les shells interactifs, mais uniquement s'ils ne sont pas des shells de connexion. Pour lire~/.bashrc
également dans les shells de connexion s'ils sont interactifs, ajoutez ceci à votre~/.bash_profile
:la source