我在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
所以我收到两封电子邮件 - 一封是正常的脚本输出,另一封是上面有奇怪输出的电子邮件
我逐行检查了里面的脚本命令 - 一切正常,没有任何错误或警告。 谷歌没有太多帮助。 提前感谢提示它可能是什么以及如何解决它。
答案 0 :(得分:2)
在该脚本中正在运行tput
(可能是在可能的情况下将输出着色)并且CentOS 7显然在cron环境中没有设置TERM
值,因此tput
抱怨它
从脚本中删除对tput
的调用,或者通过cron为该进程设置TERM
的值,或者在调用中添加-T
标志以强制使用特定的术语类型。