将一个命令的输出重定向到不同于其余脚本的文件

时间:2017-03-31 10:12:31

标签: linux bash redirect

我有一个bash脚本,我使用以下命令将每个命令的stdout / stderr定向到一个文件:

today=`/bin/date '+%Y_%m_%d__%H_%M_%S'`
exec 2> "/home/pi/stream_logs/$today.$RANDOM.txt"
exec 1>&2

[command 1
command 2
command 3
command 4
.... (many more commands)]

我想将命令2的stdout / stderr重定向到一个DIFFERENT文件,同时保持每个其他命令的stdout / stderr转到/home/pi/stream_logs/$today.$RANDOM.txt。

如何覆盖&将此脚本中的一个命令的输出重定向到一个单独的文件?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

...
command 1
command 2 >path_of_secondary_output_file
command 3
...

每个命令都可以单独重定向。未重定向时,默认设置是连接到调用上下文的stdout和stderr(这就是exec对命令产生影响的原因),但这并不妨碍重定向单个命令。