Replace a text with a variable

bash, linux, sed, variables

Solution

You need to use double quotes:

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

Your single quotes prevent the shell variable from being replaced with its contents.

Problem

How can I do this? ``` sed -i 's/wiki_host/$host_name/g' /root/bin/sync ``` It will replace `wiki_host` with the text `$host_name`. But I want to replace it with the content of the variable.. I tried it with ``` sed -i 's/wiki_host/${host_name}/g' /root/bin/sync ``` It doesn't work either.

Original source

Related problems