Shell脚本根据终端输入地址,修改linux下ifcfg-eth0,ifcfg-eth1的IPADDR、NETMASK、GATEWAY字段,如果用户没有输入,则按默认值填写,实现IP地址的修改,
时间: 2024-11-20 21:56:23 浏览: 13
可以使用Shell脚本来根据终端输入修改Linux系统下的ifcfg-eth0和ifcfg-eth1的IPADDR、NETMASK、GATEWAY字段。以下是一个示例脚本:
```bash
#!/bin/bash
# 默认值
default_ipaddr="192.168.1.100"
default_netmask="255.255.255.0"
default_gateway="192.168.1.1"
# 检查是否提供了输入
read -p "请输入ifcfg-eth0的IP地址(默认为$default_ipaddr):" ipaddr
read -p "请输入ifcfg-eth0的子网掩码(默认为$default_netmask):" netmask
read -p "请输入ifcfg-eth0的网关地址(默认为$default_gateway):" gateway
# 如果没有提供输入,则使用默认值
if [ -z "$ipaddr" ] || [ -z "$netmask" ] || [ -z "$gateway" ]; then
ipaddr=$default_ipaddr
netmask=$default_netmask
gateway=$default_gateway
fi
# 修改ifcfg-eth0的配置文件
sudo sed -i "s/^IPADDR=.*/IPADDR=$ipaddr/" /etc/sysconfig/network-scripts/ifcfg-eth0
sudo sed -i "s/^NETMASK=.*/NETMASK=$netmask/" /etc/sysconfig/network-scripts/ifcfg-eth0
sudo sed -i "s/^GATEWAY=.*/GATEWAY=$gateway/" /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改ifcfg-eth1的配置文件
sudo sed -i "s/^IPADDR=.*/IPADDR=$ipaddr/" /etc/sysconfig/network-scripts/ifcfg-eth1
sudo sed -i "s/^NETMASK=.*/NETMASK=$netmask/" /etc/sysconfig/network-scripts/ifcfg-eth1
sudo sed -i "s/^GATEWAY=.*/GATEWAY=$gateway/" /etc/sysconfig/network-scripts/ifcfg-eth1
# 重启网络服务以使更改生效
sudo systemctl restart network
```
请注意,上述脚本假设您具有足够的权限来修改配置文件和重启网络服务。您可能需要使用root权限或具有适当权限的用户来运行此脚本。此外,脚本中的默认值可以根据您的网络设置进行调整。
使用此脚本时,请确保在终端中提供正确的输入,并根据需要修改默认值。脚本将根据提供的输入修改ifcfg-eth0和ifcfg-eth1的配置文件,并重启网络服务以使更改生效。
阅读全文