如何在 shell 脚本中关闭 stdin?

Sun*_*dae 15 bash shell

我有一个行为不端的程序,我需要从我的脚本中调用它。一旦在 stdin 上看到某些内容,它就会退出。有没有办法关闭标准输入?

Dav*_*ill 24

有没有办法关闭标准输入?

关闭文件描述符

  • n<&- 关闭输入文件描述符 n。

  • 0<&-<&-关闭标准输入。

来源第 20 章 I/O 重定向


cho*_*oba 10

只需在没有输出的程序中使用管道:

: | misbehaving_program
Run Code Online (Sandbox Code Playgroud)


Sun*_*dae 10

找到它,您可以使用以下命令关闭 stdin:

exec 0<&-
Run Code Online (Sandbox Code Playgroud)


Raú*_*udo 6

根据您所说的,您可以通过简单地解决您的问题

pickyProgram < /dev/null
Run Code Online (Sandbox Code Playgroud)