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