永发信息网

请linux shell脚本高手看下~

答案:3  悬赏:80  手机版
解决时间 2021-03-10 13:14
  • 提问者网友:动次大次蹦擦擦
  • 2021-03-10 09:55
我要写一个脚本,要在脚本中让用户输入ip地址和子网掩码之后,自动替换/etc/sysconfig/network-scripts/ifcfg-eth0中的ip地址和子网掩码,请问这段代码怎么写?

是用什么重镜像或者是sed命令能直接替换掉嘛?然后重启下网卡服务就ok了,请问那个替换命令怎么打?是写脚本里面的,不是用vi进去自己手动输入替换~~~
最佳答案
  • 五星知识达人网友:人類模型
  • 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

脚本有风险,最好先备份:)
全部回答
  • 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 …… …… 空的部分,可以根据自己的需要补充。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯