sed を使用してファイル内の文字列を変数に置き換える方法は?

sed を使用してファイル内の文字列を変数に置き換える方法は?

次のようなテキストを含むファイルがあります:

IPアドレス="127.0.0.1"

127.0.0.1を$ip_addという変数に置き換える必要があります。$ip_add=127.0.0.2の場合、次のsedコマンドは機能しません。

sed -i 's/127.0.0.1/$ip_add/' conf.py

このコマンドを実行すると、テキストは次のようになります

ipaddress="$ip_address"

助けてください。よろしくお願いします

答え1

引用符で囲んだ変数の使い方

#!/bin/bash
export ip_add=192.168.1.10
echo "This is my ip: '$ip_add'"

もう一つの方法はこれです

#!/bin/bash
export ip_add=192.168.1.10
echo "This is my ip: ${ip_add}"

2 番目の例で一重引用符を使用すると、変数は適切に置き換えられません。

関連情報