我正在编写一个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
请有人帮我做这件事。非常感谢。
尝试使用顶部-b
标志:
ssh -q user@host -n "cd; top -bn 1 | egrep 'Cpu|Mem|Swap'"
这个命令告诉top以非交互方式运行,并适用于这种用途。
top
需要一个环境。您必须添加参数-t
才能得到结果:
ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"
明白了。。!!需要对下面的脚本行做一个小的修改
ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"
代替-t
,我们需要给出-tt
。它对我有效。
在ssh’ing之后执行命令top。它需要tty才能运行。使用-tt将启用强制伪tty分配。
感谢Stone为我提供了一个足够接近的答案!!:(