如何在类Unix的shell中保存交互式命令行程序的输出?

时间:2011-03-02 22:11:04

标签: c shell unix command-line redirect

我在C编码并在Linux终端中运行程序。我想将程序的输出保存在.txt文件中。我通常通过执行./a.out>filename.txt

来执行此操作

但是我写了一个交互式程序,我必须在其中输入一个数字来启动该程序。在那种情况下我该怎么做?

非常感谢,欢迎您提出宝贵的建议。

4 个答案:

答案 0 :(得分:6)

移动需求以从终端输入一个数字到命令行参数。

./a.out 42 > filename.txt

或者,更容易,接受来自重定向输入的输入

echo 42 | ./a.out > filename.txt
./a.out < input.txt > filename.txt

答案 1 :(得分:5)

试试这个

./a.out | tee filename.txt

Tee man page

答案 2 :(得分:5)

您可以使用script捕获文件的所有输出。

$ man script

答案 3 :(得分:1)

假设您输入了希望在名为“input.txt”的文件中传递给程序的号码。如果要将输出重定向到'output.txt',请在命令行键入:

./a.out  <  input.txt  >  output.txt