Wie in Warum beschrieben, wird ~ / .bash_profile beim Öffnen eines Terminals nicht verwendet? Bei "Ask Ubuntu" ist die Shell, unter der ausgeführt tmux
wird, keine Login-Shell.
Wie kann ich feststellen, ob eine Shell eine "Login-Shell" ist?
- Versuchen Sie, "
logout
" einzugeben . Wenn die Shell beendet wird, handelt es sich um eine Login-Shell. Wenn es sagt, dass es keine Login-Shell ist, dann nicht.- Geben Sie "
ps -fp$$
" ein. (Ändern Sie, wenn Sie Ihreps
verschiedenen args nimmt, zu tun, was Sie brauchen, um eine vollständige / lange Liste von Prozessinformationen für die aktuelle Shell zu bekommen - „–p
“ bedeutet „betrachten diesen Prozess “ und „$$
“ ist die PID die Shell.) Wenn der Prozessname wie in „-bash
“ oder „-csh
“ mit einem Bindestrich (Bindestrich) beginnt, handelt es sich um eine Login-Shell. sonst ist es nicht. (Wahrscheinlich.)
… Also tmux
sieht die unterlaufende Shell nicht aus .bash_profile
; es wird nur schauen .bashrc
. Verschieben Sie also die Befehle, von denen Sie ausführen möchten, .bash_profile
an .bashrc
beide Orte oder stellen Sie eine Quelle zur anderen.