використання змінних середовища у файлах tmux.conf


12

Чи можливо використовувати змінну середовища у файлі tmux.conf? Я намагаюся встановити шлях за замовчуванням до змінної середовища. Зараз я намагаюся:

set -g default-path $MYVAR

далі я хотів би перевірити, чи встановлено $ MYVAR, щоб я міг зробити:

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

Будь-які ідеї?

Відповіді:


12

Так, схоже, що можна розширити змінні оболонки у .tmux.confфайл. Схоже, це не потрібно, але гарна ідея процитувати їх, esp. Мені вдалося це зробити успішно за допомогою параметрів рядка стану.

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

$ export MYVAR="Shell stuff"
$ tmux

Я не знаю про якісь "if" чи інші керуючі структури в налаштуваннях, але вони можуть бути.


Я не можу змусити це працювати у файлі скриптів tmux. Я впевнений, що $ MYVAR встановлений, і я запускаю сценарій, і він не працює. встановити -g за замовчуванням "$ MYVAR" розділене вікно - він розділяє вікно, але шлях за замовчуванням не встановлено на $ 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.