ฉันกำลังอ่าน " Bash Guide for Beginners " มันบอกว่า:
ถ้าอักขระตัวแรกของ
PARAMETERเป็นเครื่องหมายอัศเจรีย์ Bash จะใช้ค่าของตัวแปรที่สร้างขึ้นจากส่วนที่เหลือPARAMETERเป็นชื่อของตัวแปร จากนั้นตัวแปรนี้จะถูกขยายและค่านั้นจะถูกใช้ในส่วนที่เหลือของการทดแทนแทนที่จะเป็นค่าของPARAMETERตัวมันเอง สิ่งนี้เรียกว่าการขยายตัวทางอ้อม
ตัวอย่างที่ให้คือ:
franky ~> echo ${!N*}
NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
ฉันไม่ค่อยเข้าใจที่นี่:
ค่าของตัวแปรที่เกิดจากส่วนที่เหลือของ
PARAMETER
ตามที่PARAMETERเป็นธรรม!N*แล้ว
ส่วนที่เหลือของ
PARAMETER
N*เป็นเพียง สิ่งนี้สร้างตัวแปรได้อย่างไร? Bash ค้นหาคำสั่งที่เป็นไปได้ทั้งหมดหรือไม่?