我正在运行一个Bash脚本来为命令的执行创建一个日志文件。
我使用以下命令:
Command1 >> log_file
Command2 >> log_file
该命令仅发送标准输出,而不是出现在终端上的标准错误信息。
我正在运行一个Bash脚本来为命令的执行创建一个日志文件。
我使用以下命令:
Command1 >> log_file
Command2 >> log_file
该命令仅发送标准输出,而不是出现在终端上的标准错误信息。
如果您想将日志记录到同一个文件:
command1 >> log_file 2>&1
如果您想要不同的文件:
command1 >> log_file 2>> err_file
最简单的重定向两者的语法是:
command &> logfile
如果你想追加文件而不是覆盖它:command &>> logfile
你可以这样做来将2和1合并:
command > file 2>&1
2>&1
将文件描述符2(stderr)重定向到文件描述符1(stdout)。 - Sjoerd&
代表文件描述符。否则,你要如何向名为1
的文件写入内容? - vstepaniuk&
来表示文件描述符,因为在这种情况下只有文件描述符是可能的,所以 &
是隐含的。在 ">" 之后,目标可以是任何东西,因此我们必须使用显式的 &
来指定我们正在引用文件描述符而不是名为 "1" 的文件。 - torez233&
来表示文件描述符,因为在这个上下文中只有文件描述符是可能的,所以 &
是隐含的。在 ">" 之后,目标可以是任何东西,所以我们必须使用显式的 &
来指定我们正在引用一个文件描述符,而不是一个名为 "1" 的文件。 - torez233用途:
command >>log_file 2>>log_file
请使用command 2>file
2
代表标准错误输出的文件描述符stderr。您也可以使用1
代替2
,以便将标准输出stdout重定向到“文件”。
2>&1
需要在>> log_file
之后出现。 - Rufflewind>>
而不是>
? - user3527975vi <(make 2>&1)
。 - Camille Goudeseunecommand 2>&1 | tee log_file
。请注意,翻译尽可能保持了原意并使其更加易于理解,但未添加解释或额外内容。 - Jonathan Hartley