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

Posted DCTANT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报错记录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

以上是关于报错记录Linux shell脚本报TERM environment variable not set.的主要内容,如果未能解决你的问题,请参考以下文章

报错记录解决Shell脚本报ambiguous redirect

运行shell脚本报错```$'\r':command not found```

shell脚本报错

linux的shell脚本报错“syntax error near unexpected token `”的解决

关于windows下编写的shell脚本在linux下无法运行报错问题

Linux Shell脚本报错:command not found