bash +如何避免日志文件中的特定消息

时间:2018-01-16 08:50:26

标签: linux bash shell terminal redhat

当我在Linux机器上运行bash脚本时,我的日志中会出现以下错误,

注意 - 我们在脚本中设置:

exec > $log 2>&1 ,  (  in order to send all standard error/output to $log ) 

错误消息:

tput: No value for $TERM and no -T specified

为了过滤这些错误消息,我们尝试在bash脚本中设置:

export TERM=xterm

但没有帮助

挖掘后我们发现在某些情况下发生了这种情况,例如我们对远程机器执行ssh并在远程机器上运行命令VIA ssh

为了避免我们在bash脚本中设置TERM = xterm,如下所示:

ssh user@$remote_machine "TERM=xterm  /tmp/script.sh"

但这是非常不优雅的解决方案,因为我的脚本使用了大量的ssh和curl命令,所以在每个SSH或卷曲等上设置它是不切实际的解决方案

所以我的大问题是

如何过滤消息 - tput:$ TERM没有值,没有-T指定

所以我们在 $ log 文件

中没有收到这些丑陋的消息

1 个答案:

答案 0 :(得分:0)

从日志记录中筛选出所有tput: No value

exec > >(grep -v 'tput: No value for $TERM and no -T specified' >$log) 2>&1