Bash ssh echo命令及其执行结果

Bash ssh echo命令及其执行结果,bash,shell,ssh,Bash,Shell,Ssh,我想将ssh输出分配给变量,如: VAR="$(ssh $HOST "uname -a")" VAR只接收命令执行的结果。 是否可以在不调用其他echo的情况下获得两行命令+结果 预期风险值: hostname>uname -a E570 4.15.0-70-generic #79-Ubuntu 您可以尝试以下方法: HOST=hostname CMD="uname -a" VAR="$HOST>$CMD #the new line is needed $(ssh $HOST "

我想将ssh输出分配给变量,如:

VAR="$(ssh $HOST "uname -a")"
VAR只接收命令执行的结果。 是否可以在不调用其他echo的情况下获得两行命令+结果

预期风险值:

hostname>uname -a
E570 4.15.0-70-generic #79-Ubuntu
您可以尝试以下方法:

HOST=hostname
CMD="uname -a"
VAR="$HOST>$CMD #the new line is needed
$(ssh $HOST "$CMD")" 
现在如果你这样做了:

echo "$VAR"
您获得:

hostname>uname -a
E570 4.15.0-70-generic #79-Ubuntu

我认为这是避免使用echo命令的唯一方法,但您需要将ssh中执行的命令分配到一个变量中。

听起来像是Windows上的
@echo。
var=$(cmd='uname-a';echo“$cmd”;ssh host“$cmd”)
@pynexj最初的问题是“不调用额外的echo”@pynexj是的,这是明确的解决方案。但我想知道是否有可能在不使用额外命令的情况下执行此操作。可能有一个特定于ssh的密钥来启用命令本身的echo,关于
ssh主机的set-x;是否取消“
?或者
ssh主机$'set-v\nuname'
?您忘记了美元登录
“$CMD”
。一般来说,将命令放入变量是一个可疑的想法
ssh
需要小写。是的,对不起,输入错误!谢谢,我会改正的