Bash 编写脚本,获取用户输入并在 ifcfg-enp0s3.conf 中更改 IPADDR0

Bash Scripting, taking user input and changing IPADDR0 in ifcfg-enp0s3.conf

ONBOOT=YES
IPADDR0=192.168.1.100

read -p 'IPADDR0: ' ipaddr
echo "IPADDR0=$ipaddr" >> /etc/sysconfig/network-scripts/ifcfg-enp0s3.conf

所以在上面的脚本中,我试图接受用户输入并让它替换 ifcfg-enp0s3.conf

中的 IPADDR0

以上似乎不起作用,我似乎无法弄清楚为什么?

如果 IPADDR0=<ip> 行已经存在于 .conf 文件中,那么您只需替换 <ip>:

read -p 'IPADDR0: ' ipaddr
sed -i "s/IPADDR0=.*/IPADDR0=$ipaddr/" /etc/sysconfig/network-scripts/ifcfg-enp0s3.conf