Comment fermer stdin dans un script shell?


13

J'ai un programme incorrect que je dois appeler à partir de mon script. Il sort dès qu'il voit quelque chose sur stdin. Existe-t-il un moyen de fermer stdin?

Réponses:



8

Il suffit de diriger dans un programme sans sortie:

: | misbehaving_program

Wow, qu'est-ce que c'est? Que fait «:»?
KaiserKatze

":" est une commande interne du shell qui ne fait rien. Il vous permet d'introduire des commentaires ou peut être utilisé pour les redirections. Par exemple, ":> fichier" crée un fichier vide. Ou ": |" dans ce cas, envoie un flux vide à la commande.
Raúl Salinas-Monteagudo

8

Trouvé, vous pouvez fermer stdin avec:

exec 0<&-

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.