Ruby 为什么可以';使用管道保存brew doctor的输出(或如何保存)?
我不确定这有多具体,但当我运行“brew医生”时,我会看到一些错误消息。如果要保存这些消息,请运行Ruby 为什么可以';使用管道保存brew doctor的输出(或如何保存)?,ruby,homebrew,Ruby,Homebrew,我不确定这有多具体,但当我运行“brew医生”时,我会看到一些错误消息。如果要保存这些消息,请运行brew doctor>brewErrors.txt。我在终端中看到了错误,但是如果我cat brewErrors.txt我只会得到一个带有一些内联线的文件。这是一个更一般的问题(比如Ruby或某种库/报告方法)还是一个超窄的问题?将来,如果我遇到这种情况,我如何解决/修复它?问题是重定向STDOUT,通常错误消息会出现在STDERR上。默认情况下,每个unix进程都有3个打开的文件描述符:STDI
brew doctor>brewErrors.txt
。我在终端中看到了错误,但是如果我cat brewErrors.txt
我只会得到一个带有一些内联线的文件。这是一个更一般的问题(比如Ruby或某种库/报告方法)还是一个超窄的问题?将来,如果我遇到这种情况,我如何解决/修复它?问题是
重定向STDOUT
,通常错误消息会出现在STDERR
上。默认情况下,每个unix进程都有3个打开的文件描述符:STDIN
、STDOUT
和STDERR
。您正在重定向STDOUT
,但应该使用STDERR
重定向
brew doctor 2> brewErrors.txt
brew doctor &> brewErrors.txt
或者同时使用STDERR
和STDOUT
brew doctor 2> brewErrors.txt
brew doctor &> brewErrors.txt
无论您使用的是bash
shell还是更新的zsh
shell,这都是相同的