如何使用 sed 将字符串替换为文件中的变量?

如何使用 sed 将字符串替换为文件中的变量?

我有一个文件,其中包含一些文本,例如:

IP地址=“127.0.0.1”

我必须用变量 $ip_add 替换 127.0.0.1,其中 $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}"

当您在第二个示例中使用单引号时,该变量将无法正确替换。

相关内容