【报错记录】Linux shell脚本报TERM environment variable not set.

【报错记录】Linux shell脚本报TERM environment variable not set.,第1张

【报错记录】Linux shell脚本报TERM environment variable not set.

系统版本:CentOS7.9

这个问题其实很简单,只是一开始觉得莫名其妙,我看别人博客上说的是环境变量中没有TERM,加一个就行了,但是我看了一下,我的CentOS明明就有这个参数,不应该报这个问题才对

如果没有没有该环境变量,可以通过以下命令解决:

eport TERM=xterm

然后回到我遇到的问题:放一下能够复现该问题的脚本(简略版):

文件1:test.sh,仅做两件事,clear(清屏),然后输出do clear

 

文件2:test-ssh.sh,仅做一件事,使用ssh远程命令调用test.sh这个文件

 然后执行结果是:

 其实罪魁祸首就是clear,ssh命令本身不带TERM环境,但是clear命令用到,所以单纯调用test.sh本身不会有任何报错,但是如果用ssh命令去调用,就报错了,这就是我一开始找不出问题的原因,后来把clear命令删了,问题就解决了。

会导致类似问题的命令还包括top等等。

主要参考:linux - TERM environment variable not set - Stack Overflow

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4662008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存