如何在bash中重定向到stdin但每行之间有延迟?

时间:2019-05-26 00:43:30

标签: bash stdin io-redirection

我正在使用的平台是Ubuntu 18.04。我有一个二进制程序(因此无法更改程序)说foo,它从stdin逐行读取命令。我在名为“ commands”的文件中存储了命令,并且我想通过将foo重定向到其commands来运行stdin。到目前为止,我知道我可以做到这一点,只需将文件的输出像foo一样传送到cat commands | foo即可。

但是我想给命令一个接一个的延迟,例如10秒因此foo可以等待stdin上的输入,我不在乎。我怎样才能做到这一点?因此,基本上,我想以交互方式提供输入,但实际上不是交互方式,而是自动输入。

1 个答案:

答案 0 :(得分:2)

使用bash和循环:

while read -r line; do echo "$line"; sleep 10; done < commands | foo