Ответы:
( Ответ Криса Дауна имеет правильное объяснение, но не хороший обходной путь)
Ваша проблема проистекает из комбинации ошибки проектирования bash и ошибки проектирования tmux.
По умолчанию tmux запускает оболочку входа в каждое окно. Это не имеет никакого смысла: если вы установили tmux в качестве оболочки входа в систему, вам нужно установить default-command
параметр, отличный от tmux; и если вы не установили tmux в качестве оболочки входа в систему, вам нужно установить default-command
опцию, чтобы избежать запуска оболочки входа внутри tmux. Так что надавите на это, ~/.tmux.conf
чтобы tmux запустил обычную оболочку:
set-option -g default-command $SHELL
Тогда ваш .bashrc
будет прочитан. Есть еще одна проблема с bash, которая не имеет значения, если вы настроите tmux, как рекомендовано выше, но возникнет снова, если вы войдете в текстовый режим (в текстовой консоли или через SSH). Bash читает ~/.bash_profile
в оболочках входа в систему и ~/.bashrc
в интерактивных оболочках, но только если они не являются оболочками входа в систему. Чтобы прочитать ~/.bashrc
также в оболочках входа в систему, если они являются интерактивными, добавьте это в свой ~/.bash_profile
:
case $- in *i*) . ~/.bashrc;; esac
tmux
? Я пользуюсь tmux около года и не видел проблем с псевдонимами. Попробуйте добавитьset -x
в начале вашего.bashrc
и запустить вtmux
командеsource ~/.bashrc
. Может быть, вы найдете какие-либо ошибки, и это решит вашу проблему.