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 可没有这么使用的小工具呢。
随后还会有更多有趣好玩而且又使用的脚本发布给大家,公开给大家参考,喜欢的小伙伴们记得点赞关注喔~~~哈哈…