将程序的输出重定向到文件失败

Mur*_*316 3 io-redirection

所以我有一个程序可以叫它foo。我正在尝试使用以下命令将其终端输出重定向到一个文件。

foo > ./someFile.txt
Run Code Online (Sandbox Code Playgroud)

现在,当我运行该命令时,会创建 someFile.txt,但它是空的。关于如何重定向终端输出的任何建议?

400*_*Cat 5

这是预期的行为,someFile.txt将创建一个文件。此文件是否包含任何内容取决于您的程序foo应该做什么。

无论您遇到什么问题,似乎都与输出重定向无关。您可以尝试以下命令作为测试:

cat > someFile.txt
Run Code Online (Sandbox Code Playgroud)

输入任何内容。您输入的任何内容都将被重定向到someFile.txt(以ctrl+结尾d)。

顺便说一句,输出文件是由您的 shell 创建的,而不是由您的程序创建的foo。即使您键入一个不存在的命令,仍将创建输出文件(空):

/bin/nonexistent > zzz
Run Code Online (Sandbox Code Playgroud)