Câu trả lời:
Đó là một bản mở rộng gián tiếp , được ghi lại trong man bash
phần MỞ RỘNG , Mở rộng tham số phụ :
Nếu ký tự đầu tiên của tham số là một dấu chấm than (!), Một mức độ cảm ứng biến được đưa ra. Bash sử dụng giá trị của biến được hình thành từ phần còn lại của tham số làm tên của biến; biến này sau đó được mở rộng và giá trị đó được sử dụng trong phần còn lại của sự thay thế, thay vì giá trị của chính tham số. Điều này được gọi là mở rộng gián tiếp.
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