如何将clang程序的输出从shell写入文件

时间:2018-08-31 10:16:46

标签: bash io clang

你好,我有以下问题: 我想将程序(在我们的情况下为c程序)的输出写入文件。到目前为止,我尝试使用|>,但无济于事:

main.c

#include<stdio.h>

int main()
{
 printf("Echo World");
 return 3;
}

重击命令
gcc main.c =>我得到一个名为exe的{​​{1}}
a.exe./a | test.txt
./a > test.txt => cat test.txt

无论哪种方法,我都能得到正常的Echo World,因为我将程序的Echo World定向到文件。
但是{{ 1}}程序(在我们的情况下为stdout)也属于return吗?我怎样才能得到它?

1 个答案:

答案 0 :(得分:0)

您的return 3是您应用程序的返回值,因此将被视为您应用程序的exit status,不会以领事或标准输出的形式打印。重定向可以在stderr(标准错误)和stdout(标准输出)上完成,但不能在退出状态下完成。要重定向退出状态,您必须执行以下操作

./a > test.txt
echo $? >> test.txt