Respuestas:
begin; set -lx EDITOR vim; crontab -e; end
set -lx date '12/04/2012'
begin; set -lx date '12/04/2012'; ruby -e 'puts ENV["date"]'; end
env SOME_VAR=1 command
No veo por qué esto no debería funcionar:
env EDITOR=vim crontab -e
eso evita el shell por completo.
env SOME_VAR=1 echo $SOME_VAR
Eso es de la documentación
SOME_VAR=1 command produces an error: Unknown command "SOME_VAR=1".
Usa el comando env.
env SOME_VAR=1 command
También puede declarar una variable local en un bloque y eso no pasaría por alto el shell
begin
set -lx SOME_VAR 1
command
end
dependiendo de una definición de be
función, esto puede fallar
begin
set -lx RAILS_ENV staging
be rails r "p ENV['RAILS_ENV']"
end
Para que funcione:
function be --description 'Runs bundle exec' --no-scope-shadowing
bundle exec $argv
end
Por favor, vea la explicación de la opción --no-scope-shadowing
-S o --no-scope-shadowing permite que la función acceda a las variables de las funciones de llamada. Normalmente, cualquier variable dentro de la función que tenga el mismo nombre que las variables de la función de llamada se "sombrea" y su contenido es independiente de la función de llamada.