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

Eur*_*ara 2 ssh remote

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

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

echo `ssh -t user@host uname -a`
Run Code Online (Sandbox Code Playgroud)

但是,如何获得来自命令的多行响应,例如

echo `ssh -t user@host df`
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*erg 6

在某处使用 SSH 并调用命令听起来过于复杂。
只需输入:

ssh user@host df
Run Code Online (Sandbox Code Playgroud)

瞧。:)

编辑 1
远程输出解析示例:

ssh user@host df -P | tail -n +2 | awk '{print $6 "," $4}'
Run Code Online (Sandbox Code Playgroud)

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

/,1393276
/usr,3524132
/var,2560004
Run Code Online (Sandbox Code Playgroud)