【发布时间】:2019-12-06 13:41:39
【问题描述】:
我想将 ssh 输出分配给变量,例如:
VAR="$(ssh $HOST "uname -a")"
VAR 只接收命令执行的结果。 是否可以在不调用额外回显的情况下获得两行命令+结果?
预期的 VAR 值:
hostname>uname -a
E570 4.15.0-70-generic #79-Ubuntu
【问题讨论】:
-
听起来相当于 Windows 上的
@echo on。 -
var=$(cmd='uname -a'; echo "$cmd"; ssh host "$cmd") -
@pynexj 原始问题说“没有调用额外的回声”。
-
@pynexj 是的,这是明确的解决方案。但我想知道是否有可能在没有额外命令的情况下做到这一点。可能有一个特定于 ssh 的密钥来启用命令本身的回显
-
ssh host 'set -x; uname'怎么样?或ssh host $'set -v\nuname'?