使用ssh将变量发送到远程服务器

coo*_*ing 1 ssh bash

我试图登录到文件(在远程服务器中让我们说/home/test/log.txt)存储在$ var中.我正在尝试

ssh test@$192.168.1.35 "echo "var" >> /home/test/log.txt"
Run Code Online (Sandbox Code Playgroud)

你也试过了

 ssh test@$192.168.1.35 "echo "$var" >> log.txt"
Run Code Online (Sandbox Code Playgroud)

但两者都没有用

任何帮助?

mar*_*nus 7

您使用的是双引号,因此变量扩展将在本地进行.您应该使用单引号,以便命令不会发送.

echo '$var'给出显示内容$var时相同的方式echo "$var",这样服务器看到的方式$var而不是本地的内容$var.

所以:

ssh test@$192.168.1.35 'echo $var >> /home/test/log.txt'

将在远程计算机上创建一个文件,其中包含远程值$var.

如果你这样做

ssh test@$192.168.1.35 'echo $var' >> /home/test/log.txt

你在本地计算机上获得一个文件,其中包含遥控器的值$var.

如果你这样做

ssh test@$192.168.1.35 "echo $var >> /home/test/log.txt"

它将本地的值存储在$var远程系统上的文件中.

(另外,如果它只涉及远程系统,你可能应该使用shell脚本,或者如果你想让它自动发生,你可能会使用cron.)