如何返回$以外的值?来自ssh会话
例如:
x=5
echo "$x"
ssh -o StrictHostKeyChecking=no root@hostname "x=10"
echo "$x"
Run Code Online (Sandbox Code Playgroud)
这将打印
5
5
Run Code Online (Sandbox Code Playgroud)
但我需要新的价值
5
10
Run Code Online (Sandbox Code Playgroud)
pio*_*kuc 13
试试这个:
x=5
echo "$x"
x=$(ssh -o StrictHostKeyChecking=no root@hostname 'x=10; echo $x')
echo "$x"
Run Code Online (Sandbox Code Playgroud)
这里发生的是捕获远程执行的命令的输出,并将该输出分配给您的本地变量x.请注意,我使用单引号而不是双引号来引用远程命令:'x=10; echo $x'.$x在双引号的字符串中,x在被发送到远程主机之前将被本地的值替换,因此您将通过远程命令打印并分配给您的本地x.