簡體   English   中英

如何在 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)'

Output:

($a)

要在引號內擴展變量,請使用雙引號。

echo '('"$a"')'

Output:

(800)

這是一團亂麻,但看看它分解成'(' , "$a"')'

所以,

'( $a "patch" )'

這可以按如下方式完成。

'( '"$a"' "patch" )'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM