Przeczytam "Przewodnik po Bash dla początkujących". Mówi:
Jeśli pierwszy znak
PARAMETER
jest wykrzyknik, Bash używa wartości zmiennej utworzonej z resztyPARAMETER
jako nazwę zmiennej; zmienna ta jest następnie rozwijana i ta wartość jest używana w pozostałej części podstawienia, a nie samej wartościPARAMETER
. Jest to znane jako pośrednia ekspansja.
podanym przykładzie jest:
franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
ja nie bardzo rozumiem tutaj:
wartość zmiennej utworzonej z reszty
PARAMETER
Jako PARAMETER
tylko !N*
, następnie
reszta
PARAMETER
tylko N*
. Jak to może stworzyć zmienną? Czy Bash przeszukał tam wszystkie możliwe polecenia?
Czy inne zmienne, które pasują do mojego *, również będą ustawione na "bye"? – Anthony
@Anthony Próbowałem go i jeśli '$ {! My *}' rozszerza się na myA, myB, mojaA jest eksportowana z bieżącą wartością, a mojaB jest ustawiona na "bye" i eksportowana. Niezbyt przydatne. – GKFX