utilisation de variables d'environnement dans les fichiers tmux.conf


12

Est-il possible d'utiliser une variable d'environnement dans un fichier tmux.conf? J'essaie de définir un chemin par défaut pour une variable d'environnement. Actuellement, ce que j'essaie, c'est:

set -g default-path $MYVAR

en outre, je voudrais vérifier si $ MYVAR est déjà défini afin que je puisse faire:

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

Des idées?

Réponses:


12

Oui, il semble qu'il soit possible d'étendre les variables shell dans le .tmux.conffichier. Il semble que ce ne soit pas obligatoire, mais une bonne idée de les citer, en particulier. J'ai réussi à le faire avec les options de la barre d'état tout à l'heure.

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

$ export MYVAR="Shell stuff"
$ tmux

Je ne connais pas de «si» ou d'autres structures de contrôle dans la configuration, mais il pourrait y en avoir.


Je ne peux pas faire fonctionner cela dans un fichier de script tmux. Je suis sûr que $ MYVAR est défini, et j'exécute le script et il échoue. set -g default-path "$ MYVAR" split-window -h il divise la fenêtre mais default-path n'est pas réglé sur $ MYVAR
Digital Powers

2
ok j'ai trouvé où les choses tombent en panne, si je définis la variable d'environnement avant d'exécuter tmux alors je peux l'utiliser dans mon fichier tmux.conf. Si je définis la variable d'environnement, soit dans tmux.conf en utilisant set-environment, soit après que je sois dans tmux, puis rechargez le tmux.conf, il n'utilise pas les nouvelles variables que j'ai définies. Une idée pourquoi?
Digital Powers

Les shells que vous exécutez dans tmux sont des processus enfants de tmux. Changer les choses à l' intérieur de ces environnements ne va pas revenir propager jusqu'à la ligne au processus parent tmux. Cela ne fonctionne que dans l'autre sens car tmux devient un enfant du shell à partir duquel vous l'avez lancé. Je suppose que le rechargement de la configuration est similaire en ce qu'il lance un nouvel enfant du processus parent.
Caleb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.