เปลี่ยนเส้นทางข้อมูลเข้าและข้อมูลออกของแอปเทอร์มินัลบน Mac
จากบรรทัดคำสั่ง คุณสามารถส่งผ่านข้อมูลเข้าและข้อมูลออกจากคำสั่งหนึ่งไปยังไฟล์หนึ่ง หรือไปยังคำสั่งอื่นได้
ส่งผ่านข้อมูลออกจากคำสั่งหากคุณต้องการเก็บข้อมูลผลลัพธ์ของการสั่งทำงานคำสั่งและจัดเก็บไว้ในไฟล์เพื่อใช้งานในภายหลัง ในกรณีเดียวกัน ให้ส่งผ่านข้อมูลเข้าจากไฟล์ไปยังคำสั่งหากคุณต้องการให้คำสั่งมีข้อมูลเข้าที่ตั้งค่าล่วงหน้า แทนที่จะต้องป้อนข้อมูลนั้น
ใช้อักขระต่อไปนี้เพื่อส่งผ่านข้อมูลเข้าและข้อมูลออก:
การส่งผ่าน | คำอธิบาย | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | ใช้วงเล็บมุมปิดเพื่อส่งผ่านข้อมูลออกของคำสั่งไปยังไฟล์ | ||||||||||
< | ใช้วงเล็บมุมเปิดเพื่อใช้เนื้อหาของไฟล์เป็นข้อมูลเข้าไปยังคำสั่ง | ||||||||||
>> | ใช้วงเล็บมุมปิดสองวงเล็บเพื่อผนวกข้อมูลออกจากคำสั่งไปยังไฟล์ |
นอกจากการใช้การส่งผ่านไฟล์แล้ว คุณยังสามารถส่งผ่านข้อมูลออกของคำสั่งหนึ่งไปยังข้อมูลเข้าของอีกคำสั่งหนึ่งได้โดยใช้อักขระแถบแนวตั้งหรือไปป์ คุณสามารถรวมคำสั่งในลักษณะนี้เพื่อใช้คำสั่งเดียวกันในเวอร์ชั่นที่ซับซ้อนมากยิ่งขึ้นได้
ตัวอย่างเช่น คำสั่งต่อไปนี้จะส่งผ่านเนื้อหาที่จัดรูปแบบแล้วของหน้าคู่มือ zsh
ไปยังเครื่องมือ grep
ซึ่งจะค้นหาบรรทัดที่มีคำว่า commands ในเนื้อหา ผลลัพธ์คือรายการบรรทัดต่างๆ ที่มีข้อความที่ระบุไว้ แทนที่จะเป็นหน้าคู่มือทั้งหน้า
% man zsh | grep commands
ไปป์มาตรฐานประกอบด้วย:
stdin: ไปป์ข้อมูลเข้ามาตรฐานอยู่ในตำแหน่งที่คำสั่งได้รับข้อมูลเข้า ซึ่งตามค่าเริ่มต้นแล้ว คุณจะป้อนข้อมูลเข้าจากอินเทอร์เฟซบรรทัดคำสั่ง คุณสามารถส่งผ่านข้อมูลออกจากไฟล์หรือคำสั่งอื่นๆ ไปที่ stdin ได้
stdout: ไปป์ข้อมูลออกมาตรฐานอยู่ในตำแหน่งที่ส่งข้อมูลออกของคำสั่ง ซึ่งตามค่าเริ่มต้นแล้ว ข้อมูลออกของคำสั่งจะถูกส่งไปที่บรรทัดคำสั่ง คุณสามารถส่งผ่านข้อมูลออกจากบรรทัดคำสั่งไปที่คำสั่งและเครื่องมืออื่นๆ ได้
stderr: ไปป์ข้อผิดพลาดมาตรฐานคือตำแหน่งที่ได้รับข้อความแสดงข้อผิดพลาด ตามค่าเริ่มต้น ข้อผิดพลาดจะแสดงบนบรรทัดคำสั่งพร้อมกับข้อมูลออกมาตรฐาน
โปรดดูหน้าคู่มือ zsh สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนเส้นทาง