2013-04-30 79 views
17

我怎樣才能做到這一點替換文本?具有可變

sed -i 's/wiki_host/$host_name/g' /root/bin/sync 

它將用文本$host_name替換wiki_host。 但我想用變量的內容來代替它..

sed -i 's/wiki_host/${host_name}/g' /root/bin/sync 

試了一下它也不起作用。

+0

檢查:http://theunixshell.blogspot.com/2013/04/replace-string-in-file-with-value-in.html – Vijay 2013-04-30 10:20:21

回答

32

您需要用雙引號:

$ sed -i "s/wiki_host/${host_name}/g" /root/bin/sync 

你的單引號阻止shell變量從它的內容所取代。

+1

非常感謝您! :) – Vince 2013-04-30 09:58:32