Bagaimana cara menutup stdin dalam skrip shell?


13

Saya memiliki program nakal yang harus saya panggil dari skrip saya. Keluar segera setelah melihat sesuatu di stdin. Apakah ada cara untuk menutup stdin?

Jawaban:



8

Hanya pipa dalam program tanpa output:

: | misbehaving_program

Wow, apa ini? Apa yang dilakukan ':'?
KaiserKatze

":" adalah perintah internal shell yang tidak melakukan apa pun. Ini memungkinkan Anda memperkenalkan komentar, atau dapat digunakan untuk pengalihan. Misalnya ":> file" membuat file kosong. Atau ": |" dalam hal ini mengumpan aliran kosong ke perintah.
Raúl Salinas-Monteagudo

8

Menemukannya, Anda dapat menutup stdin dengan:

exec 0<&-

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.