Псевдонимы и tmux

echo встроенный выполняет расширение обратной косой черты в Вашей системе (это настраивается, и значение по умолчанию системно-зависимо). prompt переменная содержит литеральные обратные косые черты, и быстрое расширение является немного странным.

Если Вы хотите включать терминальные escape-последовательности в свою подсказку, они должны быть между %{%}, как в

set prompt="%{\e[1m%}NEW-PROMPT%{\e[0m%}"

Но это более просто (и в принципе более портативно) использовать встроенную escape-последовательность для полужирного текста.

set prompt="%BNEW-PROMPT%b"
12
11.05.2012, 13:42
2 ответа

tmux запускает оболочку входа в систему по умолчанию, таким образом, ~/.bashrc не будет выполняться (который затем впоследствии источники ~/.bash_aliases. Необходимо получить ~/.bashrc от Вашего ~/.bash_profile. Посмотрите INVOCATION раздел man bash.

9
27.01.2020, 19:54

(Ответ Chris Down имеет правильное объяснение, но не хорошее обходное решение),

Ваша проблема происходит от комбинации ошибки дизайна удара и ошибки дизайна tmux.

По умолчанию tmux запускает оболочку входа в систему в каждом окне. Это не имеет никакого смысла: при установке tmux как оболочки входа в систему необходимо установить default-command опция к чему-то другому, чем tmux; и если Вы не установили tmux как свою оболочку входа в систему, необходимо установить default-command опция постараться не запускать оболочку входа в систему внутри tmux. Так надуйте это в Вашем ~/.tmux.conf сказать tmux запускать обычную оболочку:

set-option -g default-command $SHELL

Затем Ваш .bashrc будет считан. Существует другая проблема с ударом, который не имеет значения здесь, если Вы настраиваете tmux, как рекомендуется выше, но который появится снова, если Вы войдете в систему в текстовом режиме (на текстовой консоли, или по SSH). Чтения Bash ~/.bash_profile в оболочках входа в систему, и ~/.bashrc в интерактивных оболочках, но только если они не оболочки входа в систему. Читать ~/.bashrc также в оболочках входа в систему, если они являются интерактивными, добавьте это к Вашему ~/.bash_profile:

case $- in *i*) . ~/.bashrc;; esac
19
27.01.2020, 19:54
  • 1
    +! Это приняло то последнее участие для получения моих псевдонимов и зафиксированной подсказки PS1, но это сделало! –  Michael Durrant 03.06.2012, 04:49

Теги

Похожие вопросы