test.sh:
#!/bin/bash
export test_var=1
Führen Sie das Skript aus und führen Sie dann den Befehl im Terminal weiter aus: echo $test_var
, ich habe nichts bekommen. Warum? Da test_var
exportiert wurde, dachte ich, ich könnte die Variable im Terminal weiter verwenden.
Antwort1
Der Zweck des Exports besteht darin, Untershells das Erben der Variable zu ermöglichen. Es geschieht nichts, um einer Untershell das Ändern eines Werts im übergeordneten Element zu ermöglichen.
Antwort2
Um Ihre aktuelle Shell-Umgebung zu ändern, führen Sie das Skript entweder mit
. test.sh
oder
source test.sh