报错记录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```
linux的shell脚本报错“syntax error near unexpected token `”的解决