Jawaban:
Itu adalah ekspansi tidak langsung , yang didokumentasikan dalam man bash
bagian EKSPANSI , sub ekspansi Parameter :
Jika karakter pertama dari parameter adalah tanda seru (!), Suatu tingkat tipuan variabel diperkenalkan. Bash menggunakan nilai variabel yang dibentuk dari sisa parameter sebagai nama variabel; variabel ini kemudian diperluas dan nilai itu digunakan di seluruh substitusi, bukan nilai parameter itu sendiri. Ini dikenal sebagai ekspansi tidak langsung.
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