Wie erstelle ich beide local
und declare -r
(schreibgeschützt) Variable in bash?Wie erstellt man eine lokale schreibgeschützte Variable in bash?
Wenn ich tun:
function x {
declare -r var=val
}
Dann habe ich einfach eine globale var
erhalten, die schreibgeschützt ist
Wenn ich tun:
function x {
local var=val
}
Wenn ich tun:
function x {
local var=val
declare -r var
}
Dann bekomme ich ein global wieder (ich kann auf var
von anderen Funktionen zugreifen).
Wie kombiniere ich lokale und schreibgeschützte in bash?
'declare' ist dokumentiert als deklariert eine lokale Variable, es sei denn, Sie fordern explizit eine globale an, indem Sie das Flag '-g' setzen. Ich habe gerade auf meinem eigenen System getestet, und es verhält sich wie dokumentiert. Können Sie erklären, warum Sie glauben, dass dies nicht der Fall ist? – ruakh