Como fecho stdin em um script de shell?


13

Eu tenho um programa que se comporta mal que preciso chamar do meu script. Ele sai assim que vê algo no stdin. Existe uma maneira de fechar o stdin?

Respostas:



8

Basta canalizar um programa sem saída:

: | misbehaving_program

Nossa que isso? O que faz?
KaiserKatze 24/05/19

":" é um comando interno do shell que não faz nada. Permite introduzir comentários ou pode ser usado para redirecionamentos. Por exemplo ":> file" cria um arquivo vazio. Ou ": |" nesse caso, alimenta um fluxo vazio para o comando.
Raúl Salinas-Monteagudo

8

Encontrado, você pode fechar o stdin com:

exec 0<&-

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.