I have tried many things, but I'm new to the shell. Is it possible to have both double and single quotes within an echo
?
I want to generate echo "scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}"
for system call, but I am getting an error because of the mutiple double and single quotes.
ftable="echo" " \"" "scan" " " "'LPV',{FILTER => " "\"" "\(" "PrefixFilter ""\(""'MP1-Eq1'" "\)" "\"" "\}" "\" "
echo "scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}"
bash: syntax error near unexpected token `('
How can I write scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}
? The syntax is hbase
's and I can't change it…
EDIT
I want to call echo within system call.
ftable="echo "scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}" "
system(ftable)
error
I have tried with $ but
ftable="echo $'scan" "\'" "LPV" "\'" ",{FILTER => " "\"" "(PrefixFilter (" "\'" "MP1-Eq1" "\'" ")" "\"" "}' '"
system(ftable)
error
Getting an error because of double quote.
Best Answer
In
bash
:or
For longer strings this may be a more convinient alternative:
with
EOT
or\EOT
, depending on whether parameter expansion and quote removal (backslash) are intended or not.Usage within
awk
Defining this string within
awk
would make everything even more complex. This should be done outsideawk
in the shell: