Ich kratze mich am Kopf, kann die Bashreferenz nicht finden und darüber reden.
Im folgenden Code
%Vor%Was macht die zweite Zeile? Was macht der! -Operator in diesem Fall?
Dies ist eine Kurzform für indirekte Verweise .
%Vor%Die scheinbar ähnliche Konstruktion $ {! foo *} wird auf erweitert die Namen aller Variablen, deren Name mit foo beginnt:
%Vor%Aus dem b Ash-Handbuch :
Wenn das erste Zeichen des Parameters ein Ausrufezeichen (!) ist, a Ebene der variablen Indirektion wird eingeführt. Bash verwendet den Wert von die Variable, die aus dem Rest des Parameters als der Name der Variable; Diese Variable wird dann erweitert und dieser Wert wird in der verwendet Rest der Substitution, und nicht der Wert des Parameters selbst. Dies ist als indirekte Erweiterung bekannt. Die Ausnahmen davon sind die Erweiterungen von $ {! prefix *} und $ {! name [@]} wie unten beschrieben.
Tags und Links bash