Tôi đang đọc " Hướng dẫn Bash cho người mới bắt đầu ". Nó nói rằng:
Nếu ký tự đầu tiên của
PARAMETERlà dấu chấm than, Bash sử dụng giá trị của biến được hình thành từ phần còn lạiPARAMETERlà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 thay thế còn lại, thay vì giá trị củaPARAMETERchính nó. Đây được gọi là mở rộng gián tiếp.
Ví dụ được đưa ra là:
franky ~> echo ${!N*}
NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
Tôi không hiểu lắm ở đây:
giá trị của biến được hình thành từ phần còn lại của
PARAMETER
Như PARAMETERchỉ là !N*, sau đó
phần còn lại của
PARAMETER
chỉ là N*. Làm thế nào điều này có thể tạo thành một biến? Bash đã tìm kiếm tất cả các lệnh có thể có ở đó?