Reputation: 5063
Let's pretend that in the current shell, I have a variable.
$ echo $MY_VAR
$ 2
What I want is to pass the value of this variable to an argument of a command I'm executing through ssh, like:
ssh -i /ebs/keys/test [email protected] '/some/command -<here_i_want_to_have_value_of_$MY_VAR_variable>'
Thanks!
Upvotes: 6
Views: 36927
Reputation: 4034
Assuming you cannot use double quotes around the entire command to ssh, you could break just $MY_VAR out like this:
ssh -i /ebs/keys/test [email protected] '/some/command -'"$MY_VAR"
If the rest of the command to ssh does not contain tokens that will be interpreted within double quotes, you can enclose the entire command in double quotes instead of single.
Upvotes: 12
Reputation: 75629
Use double quotes around the command:
ssh -i /ebs/keys/test [email protected] "/some/command $MY_VAR"
The local shell will expand the variable within double quotes.
Upvotes: 5