发送ssh命令时,防止本地shell替换变量

时间:2017-05-26 12:58:28

标签: linux bash shell ssh

我尝试将SSH命令发送到远程服务器。该命令可以直接在shell(bash)中发出,也可以从Makefile:

发出
<md-select>
    <div>
        <md-option value="hah">Hah</md-option>
    </div>
</md-select>

ssh me@server "rsync -avz /my/stuff $SCRATCH/my/stuff" 是远程服务器上的环境变量,并在那里正确设置。但不幸的是,在发送SSH命令之前,我的本地系统将尝试用本地环境变量替换$SCRATCH

如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

使用反斜杠转义$符号以防止局部变量扩展:

ssh me@server "rsync -avz /my/stuff \$SCRATCH/my/stuff"