linux--简单shell脚本编写

       前几天学习了一些shell脚本编写,今天把它记下来。

       下面的脚本是修改电脑的ip地址、子网掩码、网关。

#!/bin/bash  //这句话是指定脚本的解释器是bash
read -p "please input IPADDR:"IP //read -p这个语句就是通过键盘让自己输入要输入的内容
read -p "please input NETMASK:"MASK
read -p "please input gateway:"WAY
cd /etc/sysconfig/network-scripts/
echo "TYPE=Ethernet" >> ifcfg-ens33
echo "BOOTPROTO=static" >> ifcfg-ens33
echo "DEVICE=ens33" >> ifcfg-ens33
echo "ONBOOT=yes" >> ifcfg-ens33
echo "IPADDR=$IP" >> ifcfg-ens33
echo "NETMASK=$MASK" >> ifcfg-ens33
echo "GATEWAY=$WAY" >> ifcfg-ens33
ifdown ens33
ifup ens33

       下面是脚本的一些符号及作用。这两张图片来自这个网址https://blog.csdn.net/qq_40964554/article/details/100899628。这个人写的shell的知识点很好,很详细。

在这里插入图片描述


在这里插入图片描述


       下面的脚本是测试主机存活量。
#!/bin/bash
read -p "please input:"IP
if `ping -c2 -i0.2 -w2 $IP &>/dev/null`  //这里的if语句是通过命令执行的成功还是失败来决定执行then语句,还是else语句。
	then echo "$IP is up"
else echo "$IP is down"
fi

       下面的脚本也是测试主机存活量,不过加入了for循环。
#!/bin/bash
W=100.100.100.
for I in {1..254}
do
	if `ping -c2 -i0.2 -w2 $W$I &>/dev/null` 
		then echo "$W$I is up"
	else echo "$W$I is down"
	fi
done

       下面的脚本也是测试主机存活量,不过加入了while循环。
#!/bin/bash
W=100.100.100.
IP=0
while [$IP -lt 254]
do
	let IP=IP+1
	if `ping -c2 -i0.2 -w2 $W$IP &>/dev/null` 
		then echo "$W$I is up"
	else echo "$W$I is down"
	fi
done

       下面介绍一下case语句和函数。
funa(){
	echo "hello1"
	return 0
}
funb(){
	echo "hello2"
	return 0
}
func(){
	echo "hello3"
	return 0
}
case $1 in
funa)
	funa
	;;
funb)
	funb
	;;
func)
	func
	;;
*)
	echo "please input correct sentence"
	;;
esac

       下面写一个nginx开机启动脚本。
#!/bin/bash
nginx=/usr/local/nginx/sbin/nginx     //这个路径是nginx的命令路径
chkconfig:- 66 25
description:nginx script
startd(){
	echo "nginx starting success"
	$nginx
}
startus(){
	if `ss -antpl | grep nginx > /dev/null`
		then echo "nginx starting success"
	else echo "nginx stoping "
}
stop(){
	echo "nginx stoping success"
	$nginx -s stop
}
case $1 in
startd)
	startd
	;;
startus)
	startus
	;;
stop)
	stop
	;;
restart)
	stop
	startd
	;;
*)
	echo "Usage :$0 {startd | stop | startus | restart}"
esac

       脚本已经编完,下面是让脚本开机自启。首先执行这条命令,查看chkconfig对nginx控制的配置文件有没有问题,是否在管理列表。
chkconfig --list 脚本名

       下面的命令是加入管理列表。
chkconfig add 脚本名

       再次执行【chkconfig --list 脚本名】这个命令,发现没问题。接下来是把图形级别5打开。
chkconfig --level 5 脚本名 on

       再次执行【chkconfig --list 脚本名】这个命令,发现5后面已经打开。
下面是重启系统【reboot】。重启之后执行【ss -antpl | grep 80]命令,查看80端口打开,这说明nginx已经开机自启了。这个实验前最好把httpd关掉。

       结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值