Відповіді:
Це непряме розширення , задокументоване в man bash
розділі РОЗШИРЕННЯ , підрозділ Розширення параметра :
Якщо першим символом параметра є знак оклику (!), Вводиться рівень змінної непрямості. Bash використовує значення змінної, утвореної з решти параметра, як ім'я змінної; Потім ця змінна розширюється, і це значення використовується в решті підстановки, а не в значенні самого параметра. Це відомо як непряме розширення.
bash-4.2$ DDF_SOURCE="siebel_DATA_DATE_FORMAT"
bash-4.2$ siebel_DATA_DATE_FORMAT='Hello Indirect Redirection'
bash-4.2$ DATA_DATE_FORMAT=${!DDF_SOURCE} # siebel_DATA_DATE_FORMAT must get value before this line
bash-4.2$ echo $DATA_DATE_FORMAT
Hello Indirect Redirection