我正在尝试通过ssh连接传递变量,如下所示:
working_dir="/home/user/some_dir/"
ssh $USER@some_host 'qsub $working_dir/some_file.txt'
连接本身已建立,但此代码给出了以下错误:
working_dir: Undefined variable.
这可以解释为远程机器没有变量$working_dir
,因为它是在本地定义的。
有没有办法在本地获取命令中的值?
答案 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连接发送。