Aliasy zdefiniowane w .bash_aliases
i .bashrc
nie działają w tmux
.
Czy można to zmienić w niektórych konfiguracjach, aby działały aliasy tmux
?
command-line
terminal
tmux
xralf
źródło
źródło
tmux
? Korzystam z tmuxa około roku i nie widziałem żadnych problemów z aliasami. Spróbuj dodaćset -x
na początku.bashrc
i uruchomtmux
poleceniesource ~/.bashrc
. Być może znajdziesz jakieś błędy, a to rozwiąże twój problem.Odpowiedzi:
tmux
Uruchamia shell logowania domyślnie, więc~/.bashrc
nie będzie wykonywany (które następnie kolejno źródła~/.bash_aliases
. Trzeba źródła~/.bashrc
z listy~/.bash_profile
. PatrzINVOCATION
sekcjaman bash
.źródło
(Odpowiedź Chrisa Downa zawiera właściwe wyjaśnienie, ale nie dobre obejście)
Twój problem wynika z połączenia błędu projektowania basha i błędu projektowania tmux.
Domyślnie tmux uruchamia powłokę logowania w każdym oknie. To nie ma sensu: jeśli ustawiłeś tmux jako powłokę logowania, musisz ustawić
default-command
opcję na coś innego niż tmux; a jeśli nie ustawiłeś tmux jako powłoki logowania, musisz ustawićdefault-command
opcję unikania uruchamiania powłoki logowania w tmuxie. Więc wypowiedz to w swoim,~/.tmux.conf
aby powiedzieć Tmuxowi, aby uruchomił zwykłą powłokę:Wtedy
.bashrc
zostaniesz przeczytany. Jest jeszcze jeden problem z bash, który nie ma tutaj znaczenia, jeśli skonfigurujesz tmux zgodnie z zaleceniami powyżej, ale który pojawi się ponownie, jeśli zalogujesz się w trybie tekstowym (na konsoli tekstowej lub przez SSH). Bash czyta~/.bash_profile
w powłokach logowania i~/.bashrc
w interaktywnych powłokach, ale tylko wtedy, gdy nie są one powłokami logowania. Aby czytać~/.bashrc
również w powłokach logowania, jeśli są interaktywne, dodaj to do~/.bash_profile
:źródło