Sto leggendo "Bash Guide per principianti". Si dice:
Se il primo carattere di
PARAMETER
è un punto esclamativo, Bash utilizza il valore della variabile formata dal restoPARAMETER
come nome della variabile; questa variabile viene quindi espansa e tale valore viene utilizzato nel resto della sostituzione, anziché il valore diPARAMETER
stesso. Questo è noto come espansione indiretta.
L'esempio fornito è:
franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
non capisco qui:
il valore della variabile formata dal resto
PARAMETER
Come la PARAMETER
è solo !N*
, quindi
il resto della
PARAMETER
è solo N*
. Come potrebbe formare una variabile? Bash cercava qui tutti i comandi possibili?
altre variabili che corrispondono alla mia * anche essere impostato su "ciao"? – Anthony
@Anthony L'ho provato, e se '$ {! My *}' si espande in myA, myB, myA viene esportato con il suo valore corrente e myB è impostato su "ciao" ed esportato. Non molto utile. – GKFX