Betrachten Sie folgenden Code:Mit lokalen Variablen von „Kind“ Funktionen
function child()
{
echo $var
}
function parent()
{
local var=5
child
}
ich es auf meinem Rechner getestet haben und es scheint zu funktionieren, aber ich war etwas zu finden endgültige beschreibt eine solche Nutzung der lokalen nicht in der Lage Variablen. Wenn ich nämlich eine lokale Variable in einer Funktion deklariere und von dieser Funktion aus eine andere Funktion aufruft, kann ich dann die Variable in letzterer verwenden (und sie sogar noch tiefer verschachteln)? Ist es legal in bash und ist es Standard für alle Versionen?
Von man bash 'Wenn lokalen innerhalb einer Funktion verwendet wird, verursacht es die Variablennamen einen sichtbaren Rahmen diese Funktion eingeschränkt haben und seine children.' – 123
Warum ist dies ein Kommentar und keine Antwort? – NPS
From man sh 'Die Shell verwendet dynamisches Scoping, so dass, wenn die Variable x lokal zu Funktion f gemacht wird, die dann Funktion g aufruft, beziehen sich Verweise auf die Variable x innerhalb von g auf die Variable x deklariert in f, nicht auf die globale Variable namens x.' – 123