Benutzer-Werkzeuge

Webseiten-Werkzeuge


set_export_env

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
set_export_env [2023/07/24 18:38]
root angelegt
set_export_env [2023/07/24 18:52] (aktuell)
root
Zeile 5: Zeile 5:
  
 ^Befehl ^Auswirkung auf ^ ^Befehl ^Auswirkung auf ^
-|set|Ändert nur unmittelbar Variablen für die aktuelle Shell. Die Änderungen werden in keine Subshells oder von der Shell gestarteten Programme übernommen. \\ +|set|Ändert nur unmittelbar Variablen für die aktuelle Shell. Die Änderungen werden in keine Subshells oder von der Shell gestarteten Programme übernommen. |
-Ist equivalent zu variable=Wert |+
 |export|Setzt Variablen für die aktuelle Shell und alle Untershells und Programme die durch diese Shell gestartet werden| |export|Setzt Variablen für die aktuelle Shell und alle Untershells und Programme die durch diese Shell gestartet werden|
 |env|Startet einen Prozess und setzt bestimmte Umgebungsvariablen. Die Umgebungsvariablen der Shell von der ggf. gestartet wirdt ändern sich dabei nicht| |env|Startet einen Prozess und setzt bestimmte Umgebungsvariablen. Die Umgebungsvariablen der Shell von der ggf. gestartet wirdt ändern sich dabei nicht|
Zeile 33: Zeile 32:
  
  
-<shx>+<sxh>
 /usr/bin/env blafasel="hallo" /usr/bin/zsh -c 'echo $blafasel' /usr/bin/env blafasel="hallo" /usr/bin/zsh -c 'echo $blafasel'
 hallo hallo
Zeile 44: Zeile 43:
  
  
 +
 +====== env ======
 +
 +  * ist ein eigenständiges Programm (nicht Teil einer Shell)
 +  * führt ein Programm, ggf. mit bestimmten (zusätzlichen) Umgebungsvariablen aus
 +
 +  * kann auch genutzt werden um Befehle auszuführen die in $PATH enthalten sind, deren Ort man aber nicht kennt
 +      * das ist relevant wenn man [[linux:Shebang]]s nutzt
 +
 +
 +  * Achtung: Wenn man einen Befehl per env ausführt und dieser Shellvariablen benutzt sollte man diesen in einfache Anführungszeichen "'" setzen, weil ansonsten werden die Variablen bereits durch Ursprungsshell durch ihre Werte ersetzt
 +
 +
 +Mit einfachen Anführungszeichen ("richtig"):
 +
 +<sxh bash>
 +blafasel="wiedersehen"
 +/usr/bin/env blafasel="hallo" /usr/bin/zsh -c 'echo $blafasel'
 +hallo
 +</sxh>
 +
 +
 +Mit doppelten Anführungszeichen ("falsch"):
 +<sxh bash>
 +blafasel="wiedersehen"
 +/usr/bin/env blafasel="hallo" /usr/bin/zsh -c "echo $blafasel"
 +wiedersehen
 +</sxh>
 +
 +  * in letzterem Beispiel wird vor dem Aufruf von env die Variable "blafasel" bereits durch ihren Wert ersetzt durch die ursprüngliche Shell
set_export_env.1690216720.txt.gz · Zuletzt geändert: 2023/07/24 18:38 von root