奇怪的bash脚本输出

时间:2015-06-04 17:32:27

标签: bash cron output

我在CentOS 6上成功运行bash脚本作为cron

sh /a/mem1.sh >/a/mem1.txt; if [ -s /a/mem1.txt ] ; then mail -s "Server Low Memory" < /a/mem1.txt server@example.com ; fi

但在CentOS 7下它也成功地作为cron工作 - 但发出一个奇怪的3行附加输出

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

所以我收到两封电子邮件 - 一封是正常的脚本输出,另一封是上面有奇怪输出的电子邮件

我逐行检查了里面的脚本命令 - 一切正常,没有任何错误或警告。 谷歌没有太多帮助。 提前感谢提示它可能是什么以及如何解决它。

1 个答案:

答案 0 :(得分:2)

在该脚本中正在运行tput(可能是在可能的情况下将输出着色)并且CentOS 7显然在cron环境中没有设置TERM值,因此tput抱怨它

从脚本中删除对tput的调用,或者通过cron为该进程设置TERM的值,或者在调用中添加-T标志以强制使用特定的术语类型。