In openfoam, I use foamDictionary to set a string ( 800 "patch" )
for entry timeVsFile
in ./controlDict
file. As shown, this string includes a double quote.
I define an environment variable a
to represent the value 800
a=800
foamDictionary ./controlDict -entry timeVsFile -set '( $a "patch" )'
The correct result should be timeVsFile (800 "patch");
But I get timeVsFile ($a "patch");
Can anyone help me to solve this problem?
Thanks!
CodePudding user response:
Variables are not expanded in single quote.
a=800
echo '($a)'
Output:
($a)
To expand the variables within quoting, use double quote.
echo '('"$a"')'
Output:
(800)
It's a jumbled mess, but look at it broken down into '('
, "$a"
and ')'
.
So,
'( $a "patch" )'
this could be done as follows.
'( '"$a"' "patch" )'