[英]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)'
Output:
($a)
要在引號內擴展變量,請使用雙引號。
echo '('"$a"')'
Output:
(800)
這是一團亂麻,但看看它分解成'('
, "$a"
和')'
。
所以,
'( $a "patch" )'
這可以按如下方式完成。
'( '"$a"' "patch" )'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.