utilizando variables de entorno en archivos tmux.conf

12

¿Es posible usar una variable de entorno en un archivo tmux.conf? Estoy tratando de establecer una ruta predeterminada a una variable de entorno. Actualmente lo que estoy intentando es:

set -g default-path $MYVAR

Además, me gustaría comprobar si $ MYVAR ya está configurado para poder hacer:

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

¿Algunas ideas?

Poderes digitales
fuente

Respuestas:

12

Sí, parece que es posible expandir las variables de shell en el .tmux.confarchivo. Parece que no es necesario, pero es una buena idea citarlas, especialmente. Pude hacer esto con éxito con las opciones de la barra de estado en este momento.

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

$ export MYVAR="Shell stuff"
$ tmux

No conozco ningún 'si' u otras estructuras de control en la configuración, pero podría haberlas.

Caleb
fuente
No puedo hacer que esto funcione en un archivo de script tmux. Estoy seguro de que $ MYVAR está configurado, ejecuto el script y falla. set -g default-path "$ MYVAR" ventana dividida -h divide la ventana pero la ruta predeterminada no está configurada en $ MYVAR
Digital Powers
2
ok, encontré dónde se están rompiendo las cosas, si configuro la variable de entorno antes de ejecutar tmux, entonces puedo usarla en mi archivo tmux.conf. Si configuro la variable de entorno, ya sea en tmux.conf usando set-environment o después de estar en tmux, vuelva a cargar el tmux.conf, no utilizará las nuevas variables que he configurado. ¿Alguna idea de por qué?
Potencias digitales
Los shells que ejecuta dentro de tmux son procesos secundarios de tmux. Cambiar las cosas dentro de esos entornos no va a propagar una copia de seguridad de la línea al proceso padre tmux. Solo funciona de la otra manera porque tmux se convierte en un hijo del shell desde el que lo lanzó. Supongo que la recarga de configuración es similar en el sentido de que está lanzando un nuevo elemento secundario del proceso principal.
Caleb