I would like to execute a command in a bash script that needs both double and single quotes in it.
The command that I want to run looks like this:
some_command --query "'val' is not null"
What I try to achieve is to build this command and execute it from a bash script
command='some_command --query " 'val' is not null "'
output=$($command)
# + some_command --query '"' val is not null '"'
command='some_command --query \" 'val' is not null \"'
output=$($command)
# + some_command --query '\"' val is not null '\"'
But then the command is executed with the quotes being quoted so the actial command has a wrong syntax.
I already tried a ton of different methods like using the character codes or building the command with an array followed by executing with "${array[@]}" but all were to no avail.
update:
I'm running this with bash version GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$()around$command.