ท่อ
ไปป์ไลน์เป็นลำดับของคำสั่งอย่างน้อยหนึ่งคำสั่งคั่นด้วยหนึ่งในตัวดำเนินการควบคุม | หรือ | &. รูปแบบสำหรับไพพ์ไลน์คือ:
[time [-p]] [ ! ] command [ | or |& command2 ... ]
เอาต์พุตคำสั่งมาตรฐานเชื่อมต่อผ่านไพพ์ไปยังอินพุตมาตรฐานของ command2 การเชื่อมต่อนี้ดำเนินการก่อนการเปลี่ยนเส้นทางที่ระบุโดยคำสั่ง (ดูที่ REDIRECTION ด้านล่าง) หาก | & ถูกใช้ข้อผิดพลาดมาตรฐานของคำสั่งจะเชื่อมต่อกับอินพุตมาตรฐานของ command2 ผ่านไพพ์ มันเป็นชวเลขสำหรับ 2> & 1 | การเปลี่ยนเส้นทางโดยนัยของข้อผิดพลาดมาตรฐานจะดำเนินการหลังจากการเปลี่ยนเส้นทางใด ๆ ที่ระบุโดยคำสั่ง
สถานะการส่งคืนของไพพ์ไลน์คือสถานะการออกของคำสั่งสุดท้ายยกเว้นว่าจะเปิดใช้งานตัวเลือก pipefail หากเปิดใช้งาน pipefail สถานะการส่งคืนของไปป์ไลน์จะเป็นค่าของคำสั่งสุดท้าย (ขวาสุด) เพื่อออกด้วยสถานะที่ไม่เป็นศูนย์หรือเป็นศูนย์หากคำสั่งทั้งหมดออกจากที่สำเร็จ หากคำสงวน! มาก่อนไพพ์ไลน์สถานะทางออกของไพพ์ไลน์นั้นคือการปฏิเสธแบบโลจิคัลของสถานะทางออกดังอธิบายข้างต้น เชลล์รอคำสั่งทั้งหมดในไปป์ไลน์เพื่อยกเลิกก่อนที่จะส่งคืนค่า
หากคำสงวนเวลานำหน้าไพพ์ไลน์จะมีการรายงานเวลาที่ผ่านไปของผู้ใช้และระบบที่ใช้โดยการดำเนินการของมันเมื่อไพพ์ไลน์สิ้นสุดลง อ็อพชัน -p เปลี่ยนรูปแบบเอาต์พุตเป็นที่ระบุโดย POSIX ตัวแปร TIMEFORMAT อาจถูกตั้งค่าเป็นสตริงรูปแบบที่ระบุว่าข้อมูลเวลาควรแสดงอย่างไร ดูคำอธิบายของ TIMEFORMAT ภายใต้ตัวแปรเชลล์ด้านล่าง
แต่ละคำสั่งในไปป์ไลน์จะดำเนินการเป็นกระบวนการแยกต่างหาก (เช่นใน subshell)
type time
เพื่อดูว่ามันคืออะไร