Ist die Verwendung von „env“ und „export“ dasselbe?

Ist die Verwendung von „env“ und „export“ dasselbe?

Ich frage mich, ob dies (Vonhttps://www.digitalocean.com/community/tutorials/wie-man-Umgebungs-und-Shell-Variablen-auf-einem-Linux-VPS-liest-und-einstellt):

env VAR1="blahblah" command_to_run command_options

Ist dasselbe wie:

VAR1="blahblah"
export VAR1
command_to_run ...

Antwort1

Nein, das ist nicht das Gleiche.

env VAR1="blahblah" command_to_run command_options

command_to_runwird innerhalb seiner Umgebung ausgeführt VAR1="blahblah"; die Umgebung der enthaltenden Shell wird nicht beeinflusst.

VAR1="blahblah"
export VAR1
command_to_run

ergänzt VAR1="blahblah"die Umgebung der Shell und macht sie für alle nachfolgenden Befehle verfügbar, einschließlich command_to_run.

verwandte Informationen