Псевдонимы определены в .bash_aliases
и .bashrc
не работают в tmux
.
Можно ли это изменить в какой-то конфигурации, чтобы псевдонимы работали tmux
?
command-line
terminal
tmux
xralf
источник
источник
tmux
? Я пользуюсь tmux около года и не видел проблем с псевдонимами. Попробуйте добавитьset -x
в начале вашего.bashrc
и запустить вtmux
командеsource ~/.bashrc
. Может быть, вы найдете какие-либо ошибки, и это решит вашу проблему.Ответы:
tmux
по умолчанию запускает оболочку входа в систему, поэтому~/.bashrc
не будет выполняться (которая затем будет источником~/.bash_aliases
. Вам необходимо получить исходный код~/.bashrc
из вашего~/.bash_profile
. См.INVOCATION
разделman bash
.источник
( Ответ Криса Дауна имеет правильное объяснение, но не хороший обходной путь)
Ваша проблема проистекает из комбинации ошибки проектирования bash и ошибки проектирования tmux.
По умолчанию tmux запускает оболочку входа в каждое окно. Это не имеет никакого смысла: если вы установили tmux в качестве оболочки входа в систему, вам нужно установить
default-command
параметр, отличный от tmux; и если вы не установили tmux в качестве оболочки входа в систему, вам нужно установитьdefault-command
опцию, чтобы избежать запуска оболочки входа внутри tmux. Так что надавите на это,~/.tmux.conf
чтобы tmux запустил обычную оболочку:Тогда ваш
.bashrc
будет прочитан. Есть еще одна проблема с bash, которая не имеет значения, если вы настроите tmux, как рекомендовано выше, но возникнет снова, если вы войдете в текстовый режим (в текстовой консоли или через SSH). Bash читает~/.bash_profile
в оболочках входа в систему и~/.bashrc
в интерактивных оболочках, но только если они не являются оболочками входа в систему. Чтобы прочитать~/.bashrc
также в оболочках входа в систему, если они являются интерактивными, добавьте это в свой~/.bash_profile
:источник