如何将echo输出重定向到ssh文件

Ham*_*adi 3 linux ssh bash

我正在尝试通过ssh将变量的内容重定向到文件.喜欢:

ssh $MachineIP  echo $CM_Config > $mName/CM_CONFIG
Run Code Online (Sandbox Code Playgroud)

这里$CM_Config是我的主机包含多个线的局部变量,以及$mName/CM_CONFIG位于$MachineIP 我应该怎么重定向局部变量远程文件假设我的ssh配置是否正确.提前致谢

Ola*_*che 6

您必须使用双引号引用整个命令

ssh $MachineIP "echo $CM_Config > $mName/CM_CONFIG"
Run Code Online (Sandbox Code Playgroud)

这允许变量被本地shell替换,并且在远程主机上完成重定向.


Ham*_*adi 5

在我的情况下,此命令解决了问题:

ssh $MachineIP " echo \"$CM_Config\" > \"$mName/CM_CONFIG\" "
Run Code Online (Sandbox Code Playgroud)

事实上,如果没有 \" 包围我的变量,我的问题并没有解决。也许是因为这些变量的内容有点像 bash 命令,并且是多行的。