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