我有一个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。
如何覆盖&将此脚本中的一个命令的输出重定向到一个单独的文件?
答案 0 :(得分:1)
你可以这样做:
...
command 1
command 2 >path_of_secondary_output_file
command 3
...
每个命令都可以单独重定向。未重定向时,默认设置是连接到调用上下文的stdout和stderr(这就是exec
对命令产生影响的原因),但这并不妨碍重定向单个命令。