I'm trying to pass a variable through a ssh connection, like this:
working_dir="/home/user/some_dir/"
ssh $USER@some_host 'qsub $working_dir/some_file.txt'
The connection itself is established, but this code gives me the following error:
working_dir: Undefined variable.
This could be explained, by the fact that the remote machine doesn't have the variable $working_dir
since it was defined local开发者_Go百科ly.
Is there a way of getting the value in the command locally?
Try using double quotes, that should evaluate the variable locally:
ssh $USER@some_host "qsub $working_dir/some_file.txt"
You are using a single-quoted string -- and I suppose variables are not interpolated inside of those.
What if you try with a double-quoted string ?
Like this :
ssh $USER@some_host "qsub $working_dir/some_file.txt"
With that, the $working_dir
variable should be interpolated on your end -- and its value sent via the ssh connection.
精彩评论