utilizzando le variabili di ambiente nei file tmux.conf


12

È possibile utilizzare una variabile d'ambiente in un file tmux.conf? Sto cercando di impostare un percorso predefinito per una variabile di ambiente. Attualmente quello che sto provando è:

set -g default-path $MYVAR

Inoltre vorrei verificare se $ MYVAR è già impostato in modo da poter fare:

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

Qualche idea?

Risposte:


12

Sì, sembra che sia possibile espandere le variabili della shell nel .tmux.conffile. Sembra che non sia necessario, ma è una buona idea citarle, esp. Sono stato in grado di farlo con successo con le opzioni della barra di stato proprio ora.

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

$ export MYVAR="Shell stuff"
$ tmux

Non conosco alcuna "if" o altre strutture di controllo nella configurazione, ma potrebbero esserci.


Non riesco a farlo funzionare in un file di script tmux. Sono sicuro che $ MYVAR è impostato, eseguo lo script e non riesce. set -g default-path "$ MYVAR" split-window -h divide la finestra ma default-path non è impostato su $ MYVAR
Poteri digitali

2
ok ho scoperto dove stanno andando le cose, se ho impostato la variabile d'ambiente prima di eseguire tmux, allora posso usarla nel mio file tmux.conf. Se imposto la variabile d'ambiente, in tmux.conf usando set-environment o dopo che mi trovo in tmux, ricarico il tmux.conf che non usa le mie nuove variabili che ho impostato. Qualche idea sul perché?
Poteri digitali

Le shell eseguite all'interno di tmux sono processi figlio di tmux. Modifica delle cose dentro quegli ambienti non ha intenzione di tornare propagano fino la linea per il processo padre tmux. Funziona solo diversamente perché tmux diventa figlio della shell da cui è stato lanciato. Presumo che il ricaricamento della configurazione sia simile in quanto sta avviando un nuovo figlio del processo genitore.
Caleb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.