通过ssh传递变量不起作用

时间:2010-03-10 12:42:32

标签: bash ssh

我正在尝试通过ssh连接传递变量,如下所示:

working_dir="/home/user/some_dir/"

ssh $USER@some_host 'qsub $working_dir/some_file.txt'

连接本身已建立,但此代码给出了以下错误:

working_dir: Undefined variable.

这可以解释为远程机器没有变量$working_dir,因为它是在本地定义的。

有没有办法在本地获取命令中的值?

2 个答案:

答案 0 :(得分:14)

尝试使用双引号,这应该在本地评估变量:

ssh $USER@some_host "qsub $working_dir/some_file.txt"

答案 1 :(得分:3)

您使用的是单引号字符串 - 我认为变量不会在其中插入。

如果您尝试使用双引号字符串,该怎么办?
像这样:

ssh $USER@some_host "qsub $working_dir/some_file.txt"

这样,$working_dir变量应该在你的结尾插值 - 它的值通过ssh连接发送。