如何在bash中管道终端和同时编程

Zhe*_*hen 5 c bash

所以我试图制作一个脚本来自动化我的C程序的测试(进出),我试图让输入保持在屏幕上,所以我知道发生了什么.

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

foo < input.txt
Run Code Online (Sandbox Code Playgroud)

cat input.txt | tee dev/tty |foo
Run Code Online (Sandbox Code Playgroud)

这还没有为我工作.

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

123
321
Run Code Online (Sandbox Code Playgroud)

理想情况下,IO看起来像:

Input: 123
Echo: 123
Input: 321
Echo: 321
Run Code Online (Sandbox Code Playgroud)

但它变成了

123
321
Input: 
Echo: 123
Input: 
Echo: 321
Run Code Online (Sandbox Code Playgroud)

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

Jul*_*.M. 0

简单地怎么样

cat input.txt ; cat input.txt | foo ;
Run Code Online (Sandbox Code Playgroud)

第一部分打印输入,第二部分打印输出。

您的替代方法是将 print 语句放入代码中,以便在每次迭代的关联输出之前打印正在处理的输入的子部分。