我要写一个脚本,要在脚本中让用户输入ip地址和子网掩码之后,自动替换/etc/sysconfig/network-scripts/ifcfg-eth0中的ip地址和子网掩码,请问这段代码怎么写?
是用什么重镜像或者是sed命令能直接替换掉嘛?然后重启下网卡服务就ok了,请问那个替换命令怎么打?是写脚本里面的,不是用vi进去自己手动输入替换~~~
请linux shell脚本高手看下~
答案:3 悬赏:80 手机版
解决时间 2021-03-10 13:14
- 提问者网友:动次大次蹦擦擦
- 2021-03-10 09:55
最佳答案
- 五星知识达人网友:人類模型
- 2021-03-10 10:39
#!/bin/bash
echo please write new IP address:
read NEWIP
echo please write new netmask:
read MASK
OLDADDR=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep IPADDR`
NEWADDR="IPADDR=$NEWIP"
OLDMASK=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep NETMASK`
NEWMASK="NETMASK=$MASK"
sed -i "s/$OLDADDR/$NEWADDR/g" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/$OLDMASK/$NEWMASK/g" /etc/sysconfig/network-scripts/ifcfg-eth0
脚本有风险,最好先备份:)
echo please write new IP address:
read NEWIP
echo please write new netmask:
read MASK
OLDADDR=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep IPADDR`
NEWADDR="IPADDR=$NEWIP"
OLDMASK=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep NETMASK`
NEWMASK="NETMASK=$MASK"
sed -i "s/$OLDADDR/$NEWADDR/g" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/$OLDMASK/$NEWMASK/g" /etc/sysconfig/network-scripts/ifcfg-eth0
脚本有风险,最好先备份:)
全部回答
- 1楼网友:白昼之月
- 2021-03-10 11:18
ifconfig eth0 192.168.x.x netmask 255.255.255.0
IP 子网掩码填你需要的就可以了。
- 2楼网友:我住北渡口
- 2021-03-10 11:04
有一个netsetup脚本,专门做这个事,我在很多发行版中见过,基于文本界面的对话框做的,可以搜搜。
我有一个思路:
#!/bin/bash
#
echo "DEVICE=eth0 ">ifcfg-eth0
echo "BOOTPROTO=none">>ifcfg-eth0
……
……
read gw
echo "GATEWAY=$gw">>ifcfg-eth0
……
……
空的部分,可以根据自己的需要补充。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯