[英]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.