我有一个程序,它会针对新服务器安装运行一组命令,我需要为每个安装更改文件中的条目。我们需要将默认 DNS 从 127.0.0.X(由于安装时没有互联网连接,因此默认为 127.0.0.X)更改为 8.8.8.8
我使用了以下命令:
sudo awk '{sub(/#DNS=/,"DNS=8.8.8.8")}' /etc/systemd/resolved.conf
然而这似乎在 gawk/new OS 版本下不起作用。
sudo gawk '{gensub(/#DNS=/,"DNS=8.8.8.8")}' /etc/systemd/resolved.conf
我做错了什么?有没有更好的方法来更改默认 DNS 条目?
当前服务器操作系统:Ubuntu 24.04.2-live-server
以前的服务器操作系统:Ubuntu 20.04.6-live-server
编辑:
样例行输入文件:
#DNS=
#FallbackDNS=
#Domains
该命令应该找到上面的第一行并将其替换为,DNS=8.8.8.8
但是事实并非如此。
期望输出:
DNS=8.8.8.8
#FallbackDNS=
#Domains
当我运行 awk 命令时,文件仍然显示:
#DNS=
#FallbackDNS=
#Domains
此外,它应该只查找和替换完全匹配的#DNS=
#DNS=
用什么命令和语法来替换DNS=8.8.8.8
?