簡體   English   中英

Shell腳本傳遞帶有變量的字符串,以便以后分配

[英]Shell scripting pass string with variable for later assignment

我正在使用Mac OSX並使用bash作為我的shell。 我想知道是否有任何方法可以創建一個帶有一些標記的字符串,稍后會對其進行評估。 如:

Str=$(printf '%d is %s' "5" (#some string I don't know yet) )

Later...

some string I don't know yet="something I know now"
echo Str               #produces: 5 is something I know now

我知道在大多數情況下這可以通過移動我放置變量的位置的順序來解決,但在這種情況下我希望順序是原樣的。 或者這甚至不可能? 謝謝你的幫助。

當然,只需使用printf兩次。 第一次,轉義%s ,使其按原樣進入字符串,第二次使用它作為格式字符串。

Str=$(printf '%d is %%s' 5)
New="something I know now"
printf "${Str}" "${New}"

暫無
暫無

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

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