Відповіді:
(Відповідь Кріса Дауна має правильне пояснення, але не вдале вирішення)
Ваша проблема випливає з поєднання помилки дизайну 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
. Можливо, ви знайдете будь-які помилки, і це вирішить вашу проблему.