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,echoestá integrado y puede explicar por qué no funciona; Sin embargo, ¿qué pasa en caso de bash?echocomando no verá el cambio de$TEST. correrTEST=5 sh -c 'echo $TEST'¡y mira lo que pasa!