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
PARAMETER
là 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ạiPARAMETER
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 thay thế còn lại, thay vì giá trị củaPARAMETER
chí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ư PARAMETER
chỉ 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ó ở đó?