Hay un truco disponible en bash que le permite establecer la variable de entorno para el proceso hijo y ejecutarlo en una sola línea, conservando los valores originales de la variable en el shell. Por ejemplo, para configurar las variables de entorno "LANG" y "FOO" y luego ejecutar "gedit", usaríamos el siguiente comando (desde Documentos de Ubuntu ):
LANG=he_IL.UTF-8 FOO=bar gedit
No funciona en zsh.
¿Existe una alternativa igualmente simple?
fuente
TEST=5 echo $TEST
, pero ahora he descubierto que no funciona ni en zsh ni en bash (no produce nada). En zsh,echo
está integrado y puede explicar por qué no funciona; Sin embargo, ¿qué pasa en caso de bash?echo
comando no verá el cambio de$TEST
. correrTEST=5 sh -c 'echo $TEST'
¡y mira lo que pasa!