在bash中的一系列脚本命令中重定向stderr并获取失败脚本的名称的方法?

问题描述

我正在设置一个电子邮件通知系统,我想将失败的命令(编辑:失败的脚本)保存在一个 .txt 文件中,每天一次我有一个 python 脚本来发送一封包含所有失败作业的电子邮件。

它目前看起来像: script1.py && script2.py && ... && scriptN.py 2>> "/home/mydir/failedscripts.txt" 或 script1.sh && script2.sh arg1 && .. && scriptN.sh 2>> "/home/mydir/failedscripts.txt"

有些脚本需要参数。似乎它与 stderr 的重定向配合良好,但我还需要将失败脚本的名称 + 字符串“DONE”通过管道传输到“failedscripts.txt”中。

我失败的尝试:

script1 && script2 && .. && scriptN 2>> "/home/mydir/failedscripts.txt" || echo $_,"done">> "/home/mydir/failedscripts.txt"

script1 && script2 && .. && scriptN 2>> "/home/mydir/failedscripts.txt" ; echo $_,"done">> "/home/mydir/failedscripts.txt"

script1 && script2 && .. && scriptN 2>> "/home/mydir/failedscripts.txt" && echo $_,"done">> "/home/mydir/failedscripts.txt"

但这肯定只是将“failedscripts.txt,done”传送到我的 failedscripts.txt....

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)