如何在 linux/bash 中的引号字符串中使用环境变量
How to use an environment variable inside a quoted string in linux/bash
在 openfoam 中,我使用 foamDictionary 为 ./controlDict
文件中的条目 timeVsFile
设置了一个字符串 ( 800 "patch" )
。如图所示,此字符串包含一个双引号。
我定义一个环境变量a
来表示值800
a=800
foamDictionary ./controlDict -entry timeVsFile -set '( $a "patch" )'
正确的结果应该是timeVsFile (800 "patch");
但是我得到了timeVsFile ($a "patch");
谁能帮我解决这个问题?
谢谢!
变量没有用单引号展开。
a=800
echo '($a)'
输出:
($a)
要在引号内扩展变量,请使用双引号。
echo '('"$a"')'
输出:
(800)
乱七八糟,但分解成 '('
、"$a"
和 ')'
。
所以,
'( $a "patch" )'
这可以按如下方式完成。
'( '"$a"' "patch" )'
在 openfoam 中,我使用 foamDictionary 为 ./controlDict
文件中的条目 timeVsFile
设置了一个字符串 ( 800 "patch" )
。如图所示,此字符串包含一个双引号。
我定义一个环境变量a
来表示值800
a=800
foamDictionary ./controlDict -entry timeVsFile -set '( $a "patch" )'
正确的结果应该是timeVsFile (800 "patch");
但是我得到了timeVsFile ($a "patch");
谁能帮我解决这个问题?
谢谢!
变量没有用单引号展开。
a=800
echo '($a)'
输出:
($a)
要在引号内扩展变量,请使用双引号。
echo '('"$a"')'
输出:
(800)
乱七八糟,但分解成 '('
、"$a"
和 ')'
。
所以,
'( $a "patch" )'
这可以按如下方式完成。
'( '"$a"' "patch" )'