Я читаю "Bash Guide for Beginners". В нем говорится:
Если первый символ
PARAMETER
является восклицательным знаком, Bash использует значение переменной, сформированной из остальной частиPARAMETER
, как имя переменной; эта переменная затем расширяется и это значение используется в остальной части подстановки, а не как значениеPARAMETER
. Это называется косвенным расширением.
Приведенный пример:
franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
Я не совсем понимаю здесь:
значение переменной, сформированной из остальной части
PARAMETER
Поскольку PARAMETER
является просто !N*
, тогда
остальная часть
PARAMETER
является просто N*
. Как это могло образовать переменную? Выбрали ли Bash всю возможную команду?