использование переменных окружения в файлах tmux.conf


12

Можно ли использовать переменную окружения в файле tmux.conf? Я пытаюсь установить путь по умолчанию для переменной среды. В настоящее время я пытаюсь это:

set -g default-path $MYVAR

далее я хотел бы проверить, установлен ли $ MYVAR, чтобы я мог сделать:

if($MYVAR == "") set-environment -g MYVAR /somepath/

Есть идеи?

Ответы:


12

Да, похоже, что можно расширить переменные оболочки в .tmux.confфайле. Похоже, это не обязательно, но хорошая идея заключать их в кавычки, особенно. Я смог сделать это успешно с параметрами строки состояния только сейчас.

# In ~/.tmux.conf:
set -g status_left "$MYVAR etc: "

$ export MYVAR="Shell stuff"
$ tmux

Я не знаю ни о каких «если» или других управляющих структурах в конфигурации, но они могут быть.


Я не могу заставить это работать в файле сценария tmux. Я уверен, что $ MYVAR установлен, и я запускаю скрипт, и он не работает. установить -g default-path "$ MYVAR" split-window -h оно разделяет окно, но default-path не установлено значение $ MYVAR
Digital Powers

2
Хорошо, я нашел, где что-то выходит из строя, если я установлю переменную окружения перед тем, как запустить tmux, тогда я смогу использовать ее в своем файле tmux.conf. Если я устанавливаю переменную окружения, либо в tmux.conf, используя set-environment, либо после того, как я в tmux, перезагрузите tmux.conf, чтобы он использовал мои новые переменные, которые я установил. Есть идеи почему?
Digital Powers

Оболочки, которые вы запускаете внутри tmux, являются дочерними процессами tmux. Изменение вещей в этих средах не приведет к продвижению линии вверх к родительскому процессу tmux. Это работает только иначе, потому что tmux становится дочерним элементом оболочки, из которой вы его запустили. Я предполагаю, что перезагрузка конфигурации похожа в том, что она запускает нового потомка родительского процесса.
Калеб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.