壳脚本编程之案例使用正则表达式
1) VMware软件,虚拟机为Centos7系统,使用shell脚本配置静态网卡
<代码类=" language-shell "> # !/bin/bash #该shell脚本适用于VMware Centos7双网卡的配置 #作者:lokott 版本号:2.0 #下面是关闭防火墙和SELinux,这里可以不写,本人习惯在启动服务之前先将之关闭 systemctl停止防火墙。服务,在/dev/null setenforce 0,在/dev/null cp - p/etc/sysconfig/network-scripts/ifcfg-ens33/etc/sysconfig/network-scripts/ifcfg-ens36 #定义普通变量 var=/etc/sysconfig/network-scripts # sed命令将dhcp换为静态的,将所有的ens33换为ens36,删除UUID所在的行,最后添加ip地址子网掩码以及默认网关 sed - i ' s/dhcp/静态/var/ifcfg-ens36美元 sed - i ' s/ens33/ens36/g ' $ var/ifcfg-ens36 sed - i '/^ UUID/d ' $ var/ifcfg-ens36 sed - i - e ' $ aIPADDR=192.168.100.100 - e ' $ aNETMASK=255.255.255.0 - e ' $ aGATEWAY=192.168.100.1 $ var/ifcfg-ens36 #重启网络服务 systemctl重启网络 #检查是否是自己设置的ip地址,不是则直接退出 ipadd=' ifconfig ens36 | sed - n ' 2 p ' | awk '{打印$ 2}' ' 如果($ ipadd !=?92.168.100.100”) 然后 出口1 fi 代码>
2) DHCP脚本编写
<代码类=" language-shell "> # !/bin/bash #该脚本用于配置dhcp服务的shell脚本 #作者:lokott 版本号:2.0 #执行脚本的时候可以使用。/dhcp。sh 2祝辞,1比;/dev/null yum安装使用dhcp - y,比;/dev/null yum安装预计- y,比;/dev/null var1=/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example var2=/etc/dhcp/dhcpd.conf #下面是关闭防火墙和SELinux,这里可以不写,本人习惯在启动服务之前先将之关闭 systemctl停止防火墙。服务,在/dev/null setenforce 0,在/dev/null #希望免交互部分/usr/bin/expect<& lt; eof 产卵cp var1 var2美元 预计{ “* ?” {发送“是的\ r”;} } EOF #将需要配置的内容添加到指定路径下 猫& lt; & lt; EOF祝辞祝辞var2美元 子网192.168.100.0子网掩码255.255.255.0 { 范围192.168.100.10 192.168.100.20; 选择路由器192.168.100.100; #以下是在做pxe部署时的配置 #选择domain-name-servers 114.114.114.144; #下一个服务器192.168.100.100; #文件名“pxelinux.0”; } EOF #启动dhcp服务 systemctl重启了dhcpd 代码>