在 linux 中更新IP对主机名称实战脚本~~~

IP更新对主机名修改

写脚本的目的:通过编脚本的方式来提高我们的效率,挺高我们的准确率降低工作中的失误。
本脚本的目的就是通过输入IP就可以快速修改IP和修改主机名称,不需要再进入配置文件编辑重启网卡等一些麻烦而又繁琐的步骤,能让我们更加快速准确的完成我们的目的和要求…

脚本代码~

输入IP最后一位就可以完成对IP和主机名称的修改本

[root@deng-131 order]# vim update-ipname.sh
#!/bin/bash
  name=` ifconfig | head -n 1 | awk -F ":" '{ print $1  }'`      #查找网卡名称         
while [ 1 -ne 2  ]        #while循环
do
    read -p "Please enter IP address..." ip         #输入IP地址最后一位 IP
    if [[ "$ip" =~ ^[0-9]{1,3}$ ]] && [ "$ip" -lt 254 ] && [ "$ip" -gt 3  ]     
    #判断ip,只允许一到三位数的纯数字小于254,大于3 
    then
        ping -c 2 192.168.10.$ip >/dev/null 2>&1       #ping ip是否被占用 
            if [ $? -ne 0 ]            #判断IP可用继续执行
            then
            echo "IP address input is available..."
        net="255.255.255.0"           #子网掩码(可改对应ip的掩码)
        dns="202.96.128.166"          #dns地址(可改需要的dns地址)
        IP="192.168.10.$ip"           #ip地址(可改需要的网段地址)
        gw="192.168.10.2"             #网关地址(可改对应的网关地址)
cat >/etc/sysconfig/network-scripts/ifcfg-$name <<EOF     #把一下内容覆盖原来的网卡配置文件
            TYPE=Ethernet
            NAME=$name
            DEVICE=$name
            ONBOOT=TES
            BOOTPROTO=static
            IPADDR=$IP
            NETMASK=$net
            GATEWAY=$gw
            DNS1=$dns
            EOF
            service network restart        #重启网卡  

last=` ifconfig | grep broadcast | awk -F " " '{ print $2  }' | awk -F "." '{ print $4  }' `
              #把ip最后一位作为主机名称。便于识别
        hostnamectl --static set-hostname deng-$last
              #更改主机名
            else
                echo "The IP address is occupied, please input again..."
            break
            fi
    echo "The IP address was modified successfully, and the host name was modified successfully..." 
        break
    else
    echo "Please input correctly, input the number within 3 digits"
        break
    fi
done

脚本思路

上述脚本的主网段是192.168.10.0,属于24位的网络,如有其他网络需求,可在上述“(可改需要的)”这里更改;
通过赋值变量使得脚本变得个性化智能化。
1、通过循环体,对输入的ip最后一位进行判断,用正则表达式对输入ip作为一个限定,免得乱输入ip所造成的误判
2、如果输入正确那就对ip进行判定,是否可用。在可用ip的情况下把新生成的配置文集覆盖原来的配置文件
3、修改了原来的网卡配置文件就必须重启网卡
4、把ip最后一位作为主机名称便于我们识别
5、echo 为输出的提示信息便于我们观察, 可以自行修改
  • 脚本执行的方法

输出 “echo $PATH” 寻找脚本摆放的位置(默认首先第一个)其他路径也是可以的呢
把脚本放到 “/usr/local/sbin” 并且改名 “update-ipname” (名字可以自定),下次输入命令的时候按下“TAb”键补全就可以看到我们自己写的脚本了呢

[root@deng-131 order]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@deng-131 order]# cp update-ipname.sh /usr/local/sbin/update-ipname
[root@deng-131 order]# update-ipname
update-alternatives      update-desktop-database  update-mime-database     
update-ca-trust          update-ipname            update-pciids            
  • 拥有上述的脚本,以后我们改ip地址和主机名就轻松多了,可以说是输入一个数字就可以完成我们的目的,可想而知,这效率可是提升了好几倍呢,重要的一点就是,这些脚本命令是我们自己特有的呢,其他linux 可没有这么使用的小工具呢。
    随后还会有更多有趣好玩而且又使用的脚本发布给大家,公开给大家参考,喜欢的小伙伴们记得点赞关注喔~~~哈哈…
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值