Bash
globale und lokale Variablen
Suche…
Einführung
Standardmäßig ist jede Variable in bash für alle Funktionen, Skripts und sogar die äußere Shell global , wenn Sie Ihre Variablen innerhalb eines Skripts deklarieren.
Wenn Sie möchten, dass Ihre Variable lokal für eine Funktion ist, können Sie local
, um für diese Variable eine neue Variable zu erstellen, die unabhängig vom globalen Gültigkeitsbereich ist und deren Wert nur innerhalb dieser Funktion verfügbar ist.
Globale Variablen
var="hello"
function foo(){
echo $var
}
foo
Wird offensichtlich "Hallo" ausgeben, aber das funktioniert auch andersherum
function foo() {
var="hello"
}
foo
echo $var
Wird auch "hello"
ausgeben
Lokale Variablen
function foo() {
local var
var="hello"
}
foo
echo $var
Gibt nichts aus, da var eine für die Funktion foo lokale Variable ist und deren Wert von außen nicht sichtbar ist.
Mische die beiden zusammen
var="hello"
function foo(){
local var="sup?"
echo "inside function, var=$var"
}
foo
echo "outside function, var=$var"
Wird ausgegeben
inside function, var=sup?
outside function, var=hello
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow