首页 > 解决方案 > 修复 tput:使用 SSH 运行远程 shell 脚本时没有指定 $TERM 的值和没有指定 -T

问题描述

我在服务器上有一个 nodetimecheck.sh 文件,它有这样的命令

echo
tput setaf 2; echo -n " What is my node's local time: "; tput setaf 7; date

当我使用 SSH 登录到我的服务器并执行 ./nodetimecheck.sh 时,它会正确显示。

但是,如果我尝试像这样通过 ssh 从本地计算机执行命令

ssh -i ~/.ssh/privkey username@serverip ./nodetimecheck.sh

它确实显示时间,但有一个唠叨的消息

tput: No value for $TERM and no -T specified

运行 Ubuntu 18.04 LTS 的本地计算机 运行 Ubuntu 18.04 LTS 的 GCP 上的远程服务器

标签: sshremote-accessxtermtput

解决方案


找到解决方案如下。提供 TERM=xterm 作为 ssh 命令的一部分

ssh -i ~/.ssh/privkey username@serverip TERM=xterm ./nodetimecheck.sh

推荐阅读