我正在编写一个shell脚本,我想在其中将ssh连接到服务器,并获取显示的CPU和内存详细信息数据。我在这里使用top
命令的帮助。
脚本行:
ssh -q user@host -n “cd; top -n 1 | egrep ‘Cpu|Mem|Swap’”
但是结果是
TERM environment variable is not set.
我通过输入set | grep TERM
在服务器中进行了检查,结果为TERM=xterm
请有人帮我。非常感谢。
答案 0 :(得分:2)
top
需要一个环境。您必须添加参数-t
才能得到结果:
ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"
答案 1 :(得分:2)
尝试使用顶部的-b
标志:
ssh -q user@host -n "cd; top -bn 1 | egrep 'Cpu|Mem|Swap'"
这告诉top非交互式运行,并且is intended for this sort of use。
答案 2 :(得分:0)
知道了.. !!需要对以下脚本行进行少量修改。
ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"
我们需要提供-t
而不是-tt
。它为我工作。
在ssh之后执行命令顶部。它需要运行tty。使用-tt将启用强制伪tty分配。
感谢斯托尼为我提供了足够接近的答案!! :)