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番目の例では、一重引用符を使用すると、変数は正しく置き換えられません。

関連情報