Ich lese " Bash Guide für Anfänger ". Es sagt:
Wenn das erste Zeichen von
PARAMETERein Ausrufezeichen ist, verwendet Bash den Wert der Variablen, die aus dem Rest von gebildet wird,PARAMETERals Namen der Variablen. Diese Variable wird dann erweitert und dieser Wert wird im Rest der Substitution anstelle des Werts von sichPARAMETERselbst verwendet. Dies wird als indirekte Expansion bezeichnet.
Das gegebene Beispiel ist:
franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
Ich verstehe hier nicht ganz:
der Wert der Variablen, die aus dem Rest von gebildet wird
PARAMETER
Wie das PARAMETERgerade ist !N*, dann
der Rest von
PARAMETER
ist einfach N*. Wie könnte dies eine Variable bilden? Hat Bash dort alle möglichen Befehle durchsucht?