gpt4 book ai didi

c - 如何通过管道连接到终端并同时在 bash 中进行编程

转载 作者:太空狗 更新时间:2023-10-29 15:07:53 29 4
gpt4 key购买 nike

所以我试图制作一个脚本来自动执行我的 C 程序的测试(输入和输出),并且我试图让输入保留在屏幕上,以便我知道发生了什么。

到目前为止我只尝试过管道:

foo < input.txt

cat input.txt | tee dev/tty |foo

这还没有为我工作。

所以假设输入文件看起来像:

123
321

理想情况下,IO 应该是这样的:

Input: 123
Echo: 123
Input: 321
Echo: 321

但它变成了

123
321
Input:
Echo: 123
Input:
Echo: 321

还有其他方法可以用来测试我的 C 程序吗?我还能在哪里开球才能达到这样的效果?我是否有可能编写另一个可以实现类似功能的 C 程序?

最佳答案

tee 的 stdout(到 foo 的 stdin)和重复写入(到你的 tty character dev)没有及时同步.您的 tty 消耗输入的速度比 foo 快,而 libc 的缓冲使情况变得更糟。如果您正在寻找交互式自动化,请查看 expect 程序。

关于c - 如何通过管道连接到终端并同时在 bash 中进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40010719/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com