ฉันมีโปรแกรมทำงานผิดปกติที่ฉันต้องโทรจากสคริปต์ของฉัน มันจะออกมาทันทีที่เห็นบางอย่างบน stdin มีวิธีปิด stdin หรือไม่?
ฉันมีโปรแกรมทำงานผิดปกติที่ฉันต้องโทรจากสคริปต์ของฉัน มันจะออกมาทันทีที่เห็นบางอย่างบน stdin มีวิธีปิด stdin หรือไม่?
คำตอบ:
การปิดอธิบายไฟล์
n<&-
ปิดตัวให้คำอธิบายไฟล์อินพุต n.
0<&-
หรือ<&-
ปิด stdin
แหล่งที่มาบทที่ 20. การเปลี่ยนเส้นทาง I / O
เพียงไปป์ในโปรแกรมที่ไม่มีเอาต์พุต:
: | misbehaving_program
พบมันคุณสามารถปิด stdin ด้วย:
exec 0<&-
ตามที่คุณพูดคุณอาจแก้ไขปัญหาของคุณได้ง่ายๆ
pickyProgram < /dev/null