我正在编写一个 shell 脚本,我需要通过 SSH 连接到服务器,执行一些操作,然后退出。
为此,我使用如下代码:
ssh -t username@server '
cd uploads/; \
tar -xvzf torrent.tar.gz; \
'
但是,我需要使用这样的变量:
DIR="uploads/";
ssh -t username@server '
cd $DIR; \
tar -xvzf torrent.tar.gz; \
'
这似乎不起作用,因为显然在cd
建立 SSH 连接之前不会执行,到那时没有$DIR
变量(我的猜测)。但是,有什么办法可以使用变量吗?
也许一个更好的问题是,一旦建立 SSH 连接,有没有更好的方法可以布置我的脚本来执行操作?我必须小心,转义撇号,并且有一次我实际上是从 SSH 连接内部通过 SSH 连接到另一台服务器。这是丑陋的代码!
编辑:请阅读,如果我使用“而不是”,该变量将起作用。但是我的问题仍然是关于格式的?