如何从远程SSH命令返回多行

我有一个备份远程系统的脚本,并希望它在运行备份脚本之前和之后在远程备份设备上显示磁盘空间。

感谢另一篇文章,学习了如何通过SSH运行远程命令(SSH密钥已经设置为自动login)。

echo `ssh -t user@host uname -a` 

但是,我怎样才能得到一个多行响应来自一个命令,如

 echo `ssh -t user@host df` 

响应只显示df输出的最后一行

这听起来过于复杂的方式来SSH某处,并调用一个命令。
只需input:

 ssh user@host df 

瞧。 🙂

编辑1
远程输出parsing示例:

 ssh user@host df -P | tail -n +2 | awk '{print $6 "," $4}' 

输出逗号分隔的挂载列表,可用空间如:

 /,1393276 /usr,3524132 /var,2560004 

这可能不是最有效或最优雅的方式,但是如何处理如下内容:

REMOTEDF =“ssh username @ hostname df”

回声“从主机名称预备份df”
回声date >> $ HOME / df-backups.out
echo“”>> $ HOME / df-backups.out
$ REMOTEDF >> $ HOME / df-backups.out
echo“”>> $ HOME / df-backups.out

– 执行备份 –

echo“主机名备份完成;备份后df:”
回声date >>
$ HOME / DF-backups.out
echo“”>> $ HOME / df-backups.out
$ REMOTEDF >> $ HOME / df-backups.out
echo“”>> $ HOME / df-backups.out

这里回声是麻烦的来源。 删除回声,你会得到多线输出。 为什么不只是做ssh username@hostname cmd为什么-t?