Bash 用字符串替换sterr消息

Bash 用字符串替换sterr消息,bash,shell,scripting,Bash,Shell,Scripting,我正在寻找一种记录crontable事件的方法。因此,通过在日志文件中写入执行日期和结果。比如说 Tue Feb 14 11:17:01 CET 2017 Finish with success Tue Feb 14 11:18:01 CET 2017 Finish with errors 因此,对于第一个问题,我找到了一种方法。通过这种方式: 0,5,10,15 * * * * /path/to/script $args 2>> /path/to/logFile.log &

我正在寻找一种记录crontable事件的方法。因此,通过在日志文件中写入执行日期和结果。比如说

Tue Feb 14 11:17:01 CET 2017 Finish with success
Tue Feb 14 11:18:01 CET 2017 Finish with errors
因此,对于第一个问题,我找到了一种方法。通过这种方式:

0,5,10,15 * * * * /path/to/script  $args  2>>  /path/to/logFile.log && echo "$(date) Finish with success" >>  /path/to/logFile.log

因此,当出现错误时,我不知道如何将错误输出替换为字符串“$(date)Finish with errors”

使用布尔
|
运算符添加登录失败条件,该运算符在命令失败时执行

0,5,10,15 * * * * /path/to/script "$args" >> /path/to/logFile.log 2>/dev/null && echo "$(date) Finish with success" >>  /path/to/logFile.log \
  || echo "$(date) Finish with errors" >>  /path/to/logFile.log 

stdout
附加到文件中,将
stderr
附加到
NULL
中,作为
>/path/to/logFile.log 2>/dev/NULL

使用布尔
|
运算符添加登录失败条件,该运算符在命令失败时执行

0,5,10,15 * * * * /path/to/script "$args" >> /path/to/logFile.log 2>/dev/null && echo "$(date) Finish with success" >>  /path/to/logFile.log \
  || echo "$(date) Finish with errors" >>  /path/to/logFile.log 

stdout
附加到文件,将
stderr
附加到
NULL
作为
>/path/to/logFile.log 2>/dev/NULL

这几乎回答了我的问题,唯一的问题是它仍然打印脚本的错误输出。这不是我想要的。。。实际上我只想让它打印字符串$(date)finish with error…@Joey Pablo:你想禁止写入日志的错误输出吗?@indian是的,我只想知道是否有错误。我不想看到错误的详细信息。@Joey Pablo:参考我的更新!这几乎是对我的问题的回答,唯一的问题是它仍然打印脚本的错误输出。这不是我想要的。。。实际上我只想让它打印字符串$(date)finish with error…@Joey Pablo:你想禁止写入日志的错误输出吗?@indian是的,我只想知道是否有错误。我不想看到错误的详细信息。@Joey Pablo:参考我的更新!由谁来处理