shell设置静态IP地址
cat > static_IP.sh <<"EOF"
read -p "1:设置静态IP 2.恢复动态IP地址:" flag
cd /etc/sysconfig/network-scripts/
ens=$(ifconfig | sed -n '/UP/p'|head -n1 |awk 'BEGIN {FS=":"} {print $1}')
ens="ifcfg-"$ens
if [[ $flag -eq 1 ]]
then
#备份原文件
if [[ ! -e $ens.bak ]]
then
cp $ens $ens.bak
fi
# 删除多条匹配
# sed -i '/PROXY\|BROWSE\|IPV/d' $ens
sed -i 's/dhcp/static/' $ens
#-e 注释:"-e"表示激活转义字符,"\n"表示换行,"\t"表示Tab键 -i直接操作文件 3a第3行追加
sed -i -e '10a\IPADDR=192.168.20.181\nNETMASK=255.255.255.0\nGATEWAY=192.168.20.254\nDNS1=114.114.114.114' $ens
# 其它设置静态路由 方式
# route add default gw 192.168.20.254
#command > /dev/null 2>&1 命令将 1(输出信息)重定向到 /dev/null 同时将2 (错误输出)指向 1(输出信息)的地址
systemctl restart network > /dev/null 2>&1
elif [[ $flag -eq 2 ]]
then
#恢复
cat $ens.bak >$ens
systemctl restart network > /dev/null 2>&1
else
echo "input value error"
fi
EOF
运行 ./static_IP.sh
调试运行 sh -x ./static_IP.sh