หากตัวอย่างต่อไปนี้ซึ่งตั้งค่าIFS
ตัวแปรสภาพแวดล้อมเป็นอักขระฟีดบรรทัด ...
IFS=$'\n'
- อะไรเครื่องหมายดอลลาร์หมายความ ว่า ?
- มันทำอะไรในกรณีเฉพาะนี้?
- ฉันจะอ่านเพิ่มเติมเกี่ยวกับการใช้งานเฉพาะนี้ได้ที่ไหน (Google ไม่อนุญาตให้ใช้อักขระพิเศษในการค้นหาและฉันไม่รู้ว่าจะค้นหาอะไรเป็นอย่างอื่น)
ฉันรู้ว่าIFS
ตัวแปรสภาพแวดล้อมคืออะไรและ\n
ตัวละครคืออะไร (ฟีดบรรทัด) แต่ทำไมไม่ใช้แบบฟอร์มต่อไปนี้:
IFS="\n"
(ซึ่งใช้ไม่ได้)
ตัวอย่างเช่นหากฉันต้องการวนซ้ำทุกบรรทัดของไฟล์และต้องการใช้ for loop ฉันสามารถทำได้:
for line in (< /path/to/file); do
echo "Line: $line"
done
อย่างไรก็ตามการดำเนินการนี้จะใช้ไม่ได้จนกว่าIFS
จะตั้งค่าเป็นอักขระป้อนบรรทัด เพื่อให้ใช้งานได้ฉันต้องทำสิ่งนี้:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
หมายเหตุ:ฉันไม่ต้องการวิธีอื่นในการทำสิ่งเดียวกันฉันรู้หลายอย่างแล้ว ... ฉันแค่อยากรู้เรื่องนั้น$'\n'
และสงสัยว่าจะมีใครให้คำอธิบายกับฉันได้บ้าง
\n
เป็นเพียงตัวอักษร (Escape) n คุณพูดถูก'\n'
และ"\n"
มีฟันเฟืองตามด้วย n