代码之家  ›  专栏  ›  技术社区  ›  lugte098

通过ssh传递变量不起作用

  •  6
  • lugte098  · 技术社区  · 14 年前

    我试图通过ssh连接传递一个变量,如下所示:

    working_dir="/home/user/some_dir/"

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

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

    working_dir: Undefined variable.

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

    是否有方法在本地获取命令中的值?

    2 回复  |  直到 13 年前
        1
  •  14
  •   orithena    14 年前

    尝试使用双引号,它应该在本地计算变量:

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

        2
  •  3
  •   Pascal MARTIN    14 年前

    您使用的是一个单引号字符串——我想变量不会在其中插入。

    如果你试着用 双引号字符串 ?
    这样地:

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

    有了这个, $working_dir 变量应该在您的端部进行插值——并通过ssh连接发送其值。