我正在尝试将stdout& stderr存储到$ log和$ script_log中。 $ log包含所有其他进程日志>> $ script_log只需要从set_flag.sh和update.sh登录。
set_flag.sh 2>&1 >> $log | tee -a $log > $script_log
update.sh 2>&1 >> $log | tee -a $log >> $script_log
$ log很好。我可以看到来自set_flag.sh和update.sh的所有进程日志,但不知何故$ script_log有来自set_flag的日志,但来自update.sh的部分日志。 不知道为什么......
有人可以解释并帮助我吗?
谢谢,
答案 0 :(得分:1)
这样做你想要的吗?
set_flag.sh 2>&1 | tee $script_log >>$log
update.sh 2>&1 | tee -a $script_log >>$log
你的命令中出现 $log
两次,你发布的问题可能不需要(所有stdout + stderr进入$log
,只有set_flag.sh
的stdout + stderr和update.sh
中的$script_log
。
答案 1 :(得分:0)
我相信你想要 stdout& stderr set_flag.sh
和update.sh
加入$log
和$script_log
。
如果是这种情况,请将脚本输出重定向到名称为$log
的{{1}}和create a symlink,然后将其指向$script_log
。
这样,您可以节省磁盘空间[无重复文件]并保持$log
和$log
完全相同。