![sedを使用して文字列をファイルの変数に置き換えるには? [コピー]](https://linux33.com/image/191697/sed%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A4%89%E6%95%B0%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
次のテキストを含むファイルがあります。
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番目の例では、一重引用符を使用すると、変数は正しく置き換えられません。