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