ต่อไปนี้เป็นวิธีอื่นในการสร้างไฟล์หลายบรรทัดโดยใช้echo
คำสั่ง:
echo "first line" > foo
echo "second line" >> foo
echo "third line" >> foo
โดยที่คำสั่งที่สองและที่สามใช้>>
โอเปอเรเตอร์การเปลี่ยนเส้นทางซึ่งทำให้เอาต์พุตของคำสั่งถูกผนวกเข้า (เพิ่ม) ลงในไฟล์ (ซึ่งควรมีอยู่แล้วในตอนนี้)
หรือ
(echo "first line"; echo "second line"; echo "third line") > foo
โดยที่วงเล็บจัดกลุ่มecho
คำสั่งไว้ในหนึ่งกระบวนการย่อยซึ่งมีลักษณะและทำหน้าที่เหมือนโปรแกรมใด ๆ ที่ส่งเอาต์พุตหลายบรรทัด (เช่นls
ตัวอย่าง)
ความแตกต่างที่ละเอียดอ่อนด้านบนคือ
{ echo "first line"; echo "second line"; echo "third line";} > foo
นี่มีประสิทธิภาพมากกว่าคำตอบที่สองเล็กน้อยซึ่งไม่ได้สร้างกระบวนการย่อย อย่างไรก็ตามไวยากรณ์คือเล็กน้อย trickier: ทราบว่าคุณต้องมีช่องว่างหลังที่และอัฒภาคก่อน{
}
ดูตัวควบคุมและการเปลี่ยนเส้นทางของเชลล์คืออะไร สำหรับข้อมูลเพิ่มเติม.