Nein, sie machen nicht alle dasselbe. Die -x
Flagge ist orthogonal zu den -g
, -l
und -u
Fahnen. Ersteres setzt einfach das Exportattribut auf die Var. Die letzten drei geben den Umfang der Var. Sie können eine globale, nicht exportierte VAR
Funktion haben und innerhalb einer Funktion set -lx VAR value
eine Instanz mit lokalem Bereich erstellen, die exportiert wird. Wenn die Kontrolle von der Funktion zurückkehrt, wird der globale Gültigkeitsbereich VAR
wieder hergestellt und nicht exportiert.
Wenn Sie eine aktuelle Version (2.7, möglicherweise 2.6) verwenden, können Sie set --show VAR
die Werte in allen drei Bereichen anzeigen und angeben, ob jeder Wert exportiert wird.