簡體   English   中英

Sed用雙引號替換變量

[英]Sed replace variable in double quotes

我創建了一個帶參數的bash腳本。 我想將該參數傳遞給sed以將現有字符串替換為由變量組成的另一個字符串:

variable=$1
echo $variable
sed -i -e 's/name="master"/name="$variable"/g' test

問題是腳本沒有用參數替換$ variable,它只是用“$ variable”替換字符串:

<host name=""$variable"" xmlns="urn:jboss:domain:3:0:>

如何用變量替換引號中的字符串?

單引號內不會發生變量擴展。 用雙引號做:

sed -i -e 's/name="master"/name="'"$variable"'"/g' test

像他一樣改變你的代碼,

sed -i -e 's/name="master"/name="'"$variable"'"/g' test

就像這樣:

var=apple
sed -i "s/pineapple/$"

暫無
暫無

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

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