重定向不起作用

Ric*_*ich 3 command-line bash

我想把我的程序的输出放到一个文件中。我输入了以下内容:

./prog > log 2>&1
Run Code Online (Sandbox Code Playgroud)

但是文件"log" 中没有任何内容。我使用的是 Ubuntu 11.10,默认 shell 是 bash。

任何人都知道这个的原因以及我如何调试它?

And*_*ovs 7

script -c "/path/prog" /path/log.txt
Run Code Online (Sandbox Code Playgroud)

有时外壳重定向不起作用(特别是 - 当一个外壳产生另一个外壳时,我认为:)。以上是简单地获取所有 shell 输出并将其放入文件的通用解决方案。在您的情况下,这也应该有效,因为您期望在 stdout/stderr 上输出。