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?

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.