当我在 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 并通过 ssh 在远程机器上运行命令时
为了避免这种情况,我们在 bash 脚本中设置 TERM=xterm ,如下所示:
ssh user@$remote_machine "TERM=xterm /tmp/script.sh"
但这不是一个优雅的解决方案,因为我的脚本使用了很多 ssh 和 curl 命令,所以在每个 SSH 或 curl 等上设置它不是一个实用的解决方案
所以我最大的问题是
如何过滤信息 –tput:没有 $TERM 的值并且没有指定 -T?
以便我们不会在我的$日志文件
答案1
您可以使用“grep --invert-match "tput: No value for \$TERM and no -T specified”来管道输出。