【发布时间】:2017-07-29 09:38:11
【问题描述】:
我正在编写一个自动更改 VestaCP 面板 IP 的代码。 我需要用新变量$newIP替换变量$oldIP的代码,所以我写了这段代码。
sudo perl -pi -e 's/${oldIP}/${newIP}/g' /etc/nginx/conf.d/${oldIP}.conf
但代码不会替换 oldIP.conf (123.123.123.123.conf) 中的 oldIP。
但是,如果我尝试
sudo perl -pi -e 's/123.123.123.123/123.456.123.456/g' /etc/nginx/conf.d/123.123.123.123.conf
它完美地工作,虽然我不能使用这段代码,因为服务器有不同的 IP,我无法预测下一个 IP 何时发生变化。
我在这里做错了什么?有什么解决办法吗?提前致谢!
附:如果有帮助,我在 Ubuntu 16.04 上。
【问题讨论】:
标签: regex bash perl replace quoting