Lokale Bash-Variablen

Lokale Bash-Variablen

Wie kann ich Variablen deklarieren, die lokal für Funktionen sind? Normal deklarierte Variablen werden in den globalen Gültigkeitsbereich exportiert. Beispiel:

$ cat t.sh
function locals_test() 
{
  x="bar"
}

$ echo $x

$ locals_test 
$ echo $x
bar

Antwort1

Verwenden local:

local x=bar

Dann xist lokal für die Funktion. Um beispielsweise Arrays oder Zahlen zu deklarieren, localwerden dieselben Optionen wie verwendet declare. Die Ausgabe besteht aus zwei leeren Zeilen:

#!/bin/bash
function locals_test() 
{
  local x=bar
}

echo $x
locals_test
echo $x

verwandte Informationen