0

我有一个 Ubuntu 服务器,它有一个运行基于终端命令的界面的 python 脚本。我正在使用 plink 登录并立即执行 python 脚本:

plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "python server.py"

但是,我收到以下消息:

TERM environment variable not set.

所以我在 Ubuntu 机器上创建了一个 sh 脚本(server.sh):

export TERM=xterm
python server.py

使用以下 plink 命令:

plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "sh server.sh"

现在我不再收到警告,似乎 python 脚本正在执行。但不是显示我在 python 脚本中打印的终端界面,而是只打印以下字符:

←[H←[2J

奇怪的是,当使用 Putty 手动登录并执行 python 脚本时,一切正常。我尝试将 -t 标志添加到 plink 然后执行脚本。但是,我使用颜色来打印终端文本,并且颜色作为文本打印,而不是像在 Putty 中观察到的那样更改文本的颜色。

有什么想法我能做什么?

4

2 回答 2

1

您不需要在 python 脚本中执行此操作。

您可以简单地修改.profile - 这是系统将在每次登录时执行的文件 - 使用您在 python 脚本中使用的相同表达式

export TERM=xterm

(如果你使用 bash)

setnv TERM xterm

(对于 c-shell 和类似的)

于 2013-01-30T10:17:14.250 回答
0

在命令消除未设置的 TERM 环境变量之前,我遇到了同样的问题并设置了 TERM 变量。错误信息:

plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "export TERM=xterm; python server.py"

如果您无法修改.profile文件,这很方便...

于 2014-10-14T19:23:35.843 回答