Aliase definiert in .bash_aliases
und .bashrc
funktionieren nicht in tmux
.
Kann dies in einigen Konfigurationen geändert werden, sodass die Aliase unter funktionieren tmux
?
command-line
terminal
tmux
xralf
quelle
quelle
tmux
? Ich benutze tmux ungefähr im Jahr und habe keine Probleme mit Aliasen gesehen. Versuchen Sie,set -x
am Anfang Ihres Befehls einzufügen.bashrc
und dentmux
Befehl auszuführensource ~/.bashrc
. Möglicherweise finden Sie Fehler und Ihr Problem wird dadurch behoben.Antworten:
tmux
Startet standardmäßig eine Anmeldeshell,~/.bashrc
wird also nicht ausgeführt (was anschließend quellt~/.bash_aliases
. Sie müssen~/.bashrc
von Ihrer Quelle~/.bash_profile
. SieheINVOCATION
Abschnitt vonman bash
.quelle
( Chris Downs Antwort hat die richtige Erklärung, ist aber keine gute Lösung)
Ihr Problem rührt von einer Kombination eines Bash-Design-Fehlers und eines TMUX-Design-Fehlers her.
Standardmäßig startet tmux in jedem Fenster eine Login-Shell. Dies macht keinen Sinn: Wenn Sie tmux als Anmeldeshell festgelegt haben, müssen Sie die
default-command
Option auf einen anderen Wert als tmux festlegen. Wenn Sie tmux nicht als Anmeldeshell festgelegt haben, müssen Sie diedefault-command
Option festlegen , um das Starten einer Anmeldeshell in tmux zu vermeiden. Also schreiben Sie dies in Ihr~/.tmux.conf
, um tmux anzuweisen, eine gewöhnliche Shell zu starten:Dann wird dein
.bashrc
Text gelesen. Es gibt ein weiteres Problem mit bash, das hier keine Rolle spielt, wenn Sie tmux wie oben empfohlen konfigurieren. Es tritt jedoch erneut auf, wenn Sie sich im Textmodus (auf einer Textkonsole oder über SSH) anmelden. Bash liest~/.bash_profile
in Login-Shells und~/.bashrc
in interaktiven Shells, jedoch nur, wenn es sich nicht um Login-Shells handelt. Um~/.bashrc
auch in Login-Shells zu lesen , ob diese interaktiv sind, fügen Sie Folgendes hinzu~/.bash_profile
:quelle