如何在 bash 中重定向到标准输入,但每行之间有延迟?

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

我使用的平台是Ubuntu 18.04。我有一个二进制程序(所以我无法更改程序),比如

foo
,它会从
stdin
逐行读取命令。我的命令位于名为“commands”的文件中,我想运行
foo
并将
commands
重定向到其
stdin
。到目前为止,我知道我只需将文件的输出通过管道传输到
foo
(如
cat commands | foo
)即可做到这一点。

但是我想一一给出命令,但有一些延迟,例如10秒。所以

foo
可能会等待标准输入上的输入,我不在乎。我怎样才能在 bash 中做到这一点?所以基本上,我想以交互方式提供输入,但实际上不是交互的,它是自动的。

bash stdin io-redirection
1个回答
3
投票

使用 bash 和循环:

commands | foo | while read -r line; do echo "$line"; sleep 10; done
© www.soinside.com 2019 - 2024. All rights reserved.