Void
Void

Reputation: 115

Expansion of bash variable in multiple quotes?

I am trying to perform a cURL command within a bash script to POST to a URI. The command requires that one of the arguments be surrounded by double and single quotes i.e. '"jsimmons"' In my script however this argument is a variable so the command keeps failing which I believe is because the variable is doing some weird expansion and the command is losing the quotes necessary.

For my current attempt, which doesn't work, the argument looks like, '""$watcher""' as I am trying to expand the variable and place that string within the double and single quotes.

How can I expand my variable properly to fulfill the requirements of the command?

Upvotes: 0

Views: 1407

Answers (2)

κροκς
κροκς

Reputation: 590

You can escape the surrounding 's and "s with \

\'\"$watcher\"\'

Upvotes: 0

Tom Fenech
Tom Fenech

Reputation: 74705

If you have double quotes around your whole command, you can insert single quotes without any trouble but need to escape double quotes.

For example:

$ watcher=jsimmons
$ echo "'\"$watcher\"'"
'"jsimmons"'

Upvotes: 2

Related Questions