#!/bin/bash
command1 &
command2 &
command3 &
wait
command4
wait (ไม่มีข้อโต้แย้งใด ๆ ) จะรอจนกว่ากระบวนการพื้นหลังทั้งหมดจะออก
คำอธิบายที่สมบูรณ์ของwaitในbashคู่มือ:
wait [-n] [n ...]
รอแต่ละกระบวนการลูกที่ระบุและส่งกลับสถานะการเลิกจ้าง แต่ละคนnอาจเป็น ID กระบวนการหรือข้อกำหนดงาน ถ้า spec ของงานได้รับกระบวนการทั้งหมดในขั้นตอนการทำงานของงานนั้นจะถูกรอ หากnไม่ได้รับกระบวนการลูกที่ใช้งานอยู่ในปัจจุบันทั้งหมดจะรอและสถานะการส่งคืนเป็นศูนย์ หาก
-nมีการจัดหาตัวเลือกให้waitรองานใด ๆ เพื่อยกเลิกและส่งคืนสถานะการออก หากnระบุกระบวนการหรืองานที่ไม่มีอยู่สถานะการส่งคืนคือ 127 มิฉะนั้นสถานะการส่งคืนคือสถานะการออกของกระบวนการสุดท้ายหรืองานที่รอ
PID1=$!wait "$PID1" "$PID2" "$PID3"มันซับซ้อนกว่านี้เล็กน้อย แต่จะใช้งานได้หากกระบวนการมีเด็กคนอื่นซึ่งคุณไม่ต้องการรอ