ssh - 修复 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 上的远程服务器
解决方案
找到解决方案如下。提供 TERM=xterm 作为 ssh 命令的一部分
ssh -i ~/.ssh/privkey username@serverip TERM=xterm ./nodetimecheck.sh
推荐阅读
- python - SciPy Curve_fit() 不适合曲线
- php - 在 php 类之外使用父级
- elasticsearch - Elasticsearch在正则表达式中转义特殊字符
- sql - 查询从当前日期开始的最后 4 个星期二
- typescript - fetch 的 TypeScript 类型更多
- reactjs - 在 Material ui TS 上选择值时显示特定下拉列表
- docker - 如何运行依赖于用户特别想要的服务列表的特定服务(动态)
- javascript - Chai 的满足函数没有返回预期值
- javascript - onclick 功能不适用于 Internet Explorer 11,但适用于 Chrome、Edge 和 Firefox,并且日期过滤器无法提供我的实际值
- python - 如果在 for 循环内循环以过滤 OpenMV cam 上的线段 Micropython