ส่งออกข้อความไปยังหน้าจอโดยใช้คำสั่ง Linux Echo
คู่มือนี้จะแสดงวิธีการพิมพ์ข้อความไปยัง หน้าต่างเทอร์มินัล ใช้ ลินุกซ์ คำสั่งเสียงสะท้อน
ใช้ด้วยตัวเองในเทอร์มินัล คำสั่ง echo ไม่ได้มีประโยชน์อย่างยิ่ง แต่เมื่อใช้เป็นส่วนหนึ่งของสคริปต์ สามารถใช้เพื่อแสดงคำแนะนำ ข้อผิดพลาด และการแจ้งเตือนได้
ตัวอย่างการใช้งาน Linux Echo Command
ในรูปแบบที่ง่ายที่สุด วิธีที่ง่ายที่สุดในการส่งข้อความไปยังเทอร์มินัลมีดังนี้:
เสียงสะท้อน "สวัสดีชาวโลก"
คำสั่งดังกล่าวส่งออกคำว่า "สวัสดีชาวโลก" ไปที่หน้าจอ (ลบเครื่องหมายคำพูด)

โดยค่าเริ่มต้น คำสั่ง echo จะแสดงอักขระบรรทัดใหม่ที่ท้ายสตริง
ในการทดสอบนี้ ให้ลองใช้คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล:
echo "สวัสดีชาวโลก" && echo "ลาก่อนโลก"
คุณจะเห็นว่าผลลัพธ์เป็นดังนี้:
สวัสดีชาวโลก
ลาก่อนโลก
คุณสามารถละอักขระบรรทัดใหม่ได้โดยเพิ่มสวิตช์ลบ n (-n) ดังนี้:
echo -n "สวัสดีชาวโลก" && echo "ลาก่อนโลก"

ผลลัพธ์จากคำสั่งข้างต้นเป็นดังนี้:
สวัสดีชาวโลก ลาโลก
การใช้อักขระพิเศษ
อีกสิ่งหนึ่งที่ควรพิจารณาเมื่อใช้คำสั่ง echo คือวิธีจัดการกับอักขระพิเศษ

ตัวอย่างเช่น ลองทำสิ่งต่อไปนี้ในหน้าต่างเทอร์มินัล:
echo "สวัสดีชาวโลก\r\nลาก่อนโลก"
ในโลกอุดมคติ \r และ \n จะทำหน้าที่เป็นอักขระพิเศษเพื่อเพิ่มบรรทัดใหม่ แต่กลับไม่เป็นเช่นนั้น ผลลัพธ์จะเป็นดังนี้:
สวัสดีชาวโลก\r\nลาก่อนโลก
คุณสามารถเปิดใช้งานอักขระพิเศษโดยใช้คำสั่ง echo โดยใส่สวิตช์ -e ดังต่อไปนี้:
echo -e "สวัสดีชาวโลก\r\nลาก่อนโลก"
คราวนี้ผลลัพธ์จะเป็นดังนี้:
สวัสดีชาวโลก
ลาก่อนโลก
แน่นอน คุณอาจอยู่ในสถานการณ์ที่คุณกำลังพยายามแสดงสตริงที่จะถูกจัดการเป็นอักขระพิเศษและคุณไม่ต้องการให้เป็นแบบนั้น ในสถานการณ์สมมตินี้ใช้ตัวพิมพ์ใหญ่ e ดังนี้:
echo -E "สวัสดีชาวโลก\r\nลาก่อนโลก"
อักขระพิเศษใดที่จัดการโดยใช้สวิตช์ -e
- \\ แบ็กสแลช
- \a alert
- \b แบ็คสเปซ
- \c ไม่มีผลผลิตเพิ่มเติม
- \e หนี
- \f แบบฟอร์มฟีด
- \n บรรทัดใหม่
- \r การคืนรถ
- \t แท็บแนวนอน
- \v แท็บแนวตั้ง
- \ 0NNN ค่าฐานแปดที่มี 1 ถึง 3 หลัก
- \xHH ไบต์ที่มีค่าเลขฐานสิบหก

มาลองดูสักสองสามข้อนี้กัน เรียกใช้สิ่งต่อไปนี้ คำสั่งในเทอร์มินัล:
echo -e "hel\blo โลก"
คำสั่งดังกล่าวจะแสดงผลต่อไปนี้:
สวัสดีโลก
เห็นได้ชัดว่าไม่ใช่สิ่งที่คุณต้องการส่งออกไปยังหน้าจอ แต่คุณได้รับจุดที่แบ็กสแลช b ลบตัวอักษรก่อนหน้า
ลองทำสิ่งต่อไปนี้ในหน้าต่างเทอร์มินัล:
echo -e "สวัสดี\c โลก"
คำสั่งนี้ส่งออกทุกอย่างจนถึงแบ็กสแลชและค ยกเว้นอย่างอื่นรวมทั้งขึ้นบรรทัดใหม่
ตัวละครสายและการคืนรถ
ดังนั้นความแตกต่างระหว่างอักขระขึ้นบรรทัดใหม่และการขึ้นบรรทัดใหม่คืออะไร? อักขระขึ้นบรรทัดใหม่จะย้ายเคอร์เซอร์ลงไปที่บรรทัดถัดไป ในขณะที่การขึ้นบรรทัดใหม่จะย้ายเคอร์เซอร์กลับไปที่ด้านซ้าย

ตัวอย่างเช่น ป้อนข้อมูลต่อไปนี้ในหน้าต่างเทอร์มินัลของคุณ:
echo -e "สวัสดี\nโลก"
ผลลัพธ์ของคำสั่งดังกล่าวทำให้คำสองคำอยู่ในบรรทัดที่ต่างกัน:
สวัสดี
โลก
ลองใช้สิ่งนี้ในหน้าต่างเทอร์มินัล:
echo -e "สวัสดี\rโลก"
ความแตกต่างระหว่างการขึ้นบรรทัดใหม่และการขึ้นบรรทัดใหม่จะชัดเจนมาก ดังต่อไปนี้จะแสดงเป็นผลลัพธ์:
โลก
มีการแสดงคำว่า สวัสดี การขึ้นบรรทัดใหม่นำเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัด และคำว่า world ก็ปรากฏขึ้น
จะชัดเจนขึ้นเล็กน้อยหากคุณลองทำสิ่งต่อไปนี้:
echo -e "สวัสดี\rhi"
ผลลัพธ์จากด้านบนมีดังนี้:
สวัสดี.
ในความเป็นจริง ผู้คนจำนวนมากยังคงใช้สัญลักษณ์ \r\n เมื่อส่งออกไปยังบรรทัดใหม่ อย่างไรก็ตาม บ่อยครั้ง คุณสามารถหนีไปได้ด้วย \n