использование переменных окружения в файлах 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 становится дочерним элементом оболочки, из которой вы его запустили. Я предполагаю, что перезагрузка конфигурации похожа в том, что она запускает нового потомка родительского процесса.
Калеб