我确保在.bashrc中定义了TERM。
但是,在批处理模式下运行ssh时,我得到:
$ ssh pc-lab7 "echo $TERM; echo $0"
TERM environment variable not set.
linux
-bash
如果我在交互模式下运行ssh,我看不到这个错误。
如何消除此错误消息?
答案 0 :(得分:5)
我终于找到了这个令人讨厌的“TERM环境变量未设置”警告的原因。
事实证明,当ssh在没有交互式用户的情况下以批处理模式执行时,在启动脚本中调用“clear”命令将产生此错误。
在脚本中注释掉'clear'一行为我解决了问题。
答案 1 :(得分:5)
使用-t
选项ssh分配tty
-t Force pseudo-tty allocation. This can be used to execute arbitrary
screen-based programs on a remote machine, which can be very useful,
e.g. when implementing menu services. Multiple -t options force tty
allocation, even if ssh has no local tty.