我有一个 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 重定向到一个不同的文件,同时将所有其他命令的 stdout/stderr 保留到/home/pi/stream_logs/$today.$RANDOM.txt。
我怎样才能覆盖并重定向此脚本中一个命令的输出到一个单独的文件?
最佳答案
你可以简单地这样做:
...
command 1
command 2 >path_of_secondary_output_file
command 3
...
每个命令都可以单独重定向。未重定向时,默认连接到调用上下文的 stdout 和 stderr(这就是 exec
对您的命令有影响的原因),但这不会阻止重定向单个命令。
关于linux - 将一个命令的输出重定向到与其余脚本不同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43138126/