tail -f /dev/null 通常位于脚本末尾,其目的是什么?

问题描述 投票:0回答:1

点燃火把之前:

  • 我知道
    /dev/null
    是什么
  • 我知道 I/O 重定向在 shell 命令中如何工作
  • 我知道
    tail
    -f
    标志的作用

但是,我无法理解使用以下内容的原因:

tail -f /dev/null

此命令经常出现在服务器端脚本的末尾,或者就像我最近遇到的那样,在

Docker
容器 (
CMD ['sh', '-c', 'echo "The app is running!" && tail -f /dev/null']
) 中。
通过了解上面列出的内容,我希望
tail
的输出永远是空白屏幕,因为
/dev/null
的 I/O 不会暴露给任何程序 - 尝试 shell 中的命令正是这样做的。

我只能认为这是一种奇特的方式

Press CTRL-C to terminate

但除此之外还有什么不明显的目的吗?
你能用其他命令达到同样的效果吗?我可以想到
read anyKey
来表示流行的
Press any key to continue...
提示。

tail dev-null
1个回答
0
投票

目的是不放弃。它的用途与

sleep infinity
相同,但当
infinity
不被
sleep
理解时更便于移植。

© www.soinside.com 2019 - 2024. All rights reserved.