在 bash 控制台上,如果我这样做:

cd mydir
ls -l > mydir.txt

> 运算符捕获标准输入并将其重定向到文件;所以我得到了 mydir.txt 中的文件列表,而不是标准输出中的。

有什么办法可以在 rails 控制台上做类似的事情吗?

我有一个 ruby​​ 语句,它生成大量打印(约 8k 行),我希望能够完整地看到它,但控制台只“记住”最后 1024 行左右。所以我想重定向到一个文件 - 如果有人知道更好的选择,我全神贯注。

最佳答案

您可以使用 override $stdout 重定向控制台输出:

$stdout = File.new('console.out', 'w')

您可能还需要调用一次:
$stdout.sync = true

这会将所有输出重定向到文件。如果您想临时重定向输出,请确保您存储 $stdout 的原始值,以便您可以将其更改回来。

关于ruby-on-rails - rails - 将控制台输出重定向到文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2461503/

10-13 06:40
查看更多