พิจารณาชื่อสคริปต์ต่อไปนี้ (โง่เล็กน้อย) 'test1.sh':
#/bin/bash
#
sleep 10 &
echo sleep pid = $!
pkill sleep
เมื่อฉันเรียกใช้ฉันไม่เพียง แต่เอาท์พุทของเสียงก้องเท่านั้น แต่ยังรายงานการตายของการนอนหลับบน stderr ด้วย:
$ ./test1.sh
sleep pid = 3551
./test1.sh: line 5: 3551 Terminated sleep 10
ในกรณีนี้ฉันต้องการระงับการพิมพ์ไปยัง stderr ฉันรู้ว่าฉันสามารถทำได้ในบรรทัดคำสั่งเช่นเดียวกับใน:
$ ./test1.sh 2> /dev/null
... แต่มีวิธีที่จะระงับมันจากภายในสคริปต์หรือไม่ (ฉันรู้ว่าฉันสามารถตัดมันในสคริปต์ที่สองและให้ wrapper เปลี่ยนเส้นทาง แต่ต้องมีบางสิ่งที่ง่ายกว่า ... )