受够了一次次重复安装Nginx,顺便学习下shell脚本

操作环境:Centos7

代码如下:

#!/bin/bash
#this is nginx.sh
#date 2018.10.6
[ $(id -u) != "0" ]&& echo "error,not root user" && exit 1
#检测当前用户是否为root用户
if [ ! -d /opt ];then
#判断/opt目录是否存在
mkdir /opt && cd /opt
else
cd /opt
fi
read -p "是否开始安装Nginx(y/n):" cho
case $cho in
#匹配y/n/*选项
y)
wget http://nginx.org/download/nginx-1.14.0.tar.gz
a=nginx-1.14.0
;;
n)
exit 1
;;
*)
echo "错误退出,请输入正确指令(y/n)"
exit 1
;;
esac
if [ $? -eq 0 ];then
#下载完成后$?的值,如果等于0则解压,不等于0则异常退出
tar zxf $a.tar.gz
else
echo "下载错误!"
exit 1
fi
nginxu=`awk -F: '$0~/nginx/' /etc/passwd|wc -l`
nginxg=`awk -F: '$0~/nginx/' /etc/group|wc -l`
#给nginx用户和组设置变量
if [ $nginxu -ne 0 ] && [ $nginxg -ne 0 ];then
#判断nginx用户和组是否存在,不存在则创建
echo "nginx用户和组已存在"
else
useradd -M -s /sbin/nologin nginx
fi
yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y
cd /opt/$a
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
if [ $? -eq 0 ];then
#安装成功$?输出为0时,创建nginx命令软链接。
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
else
echo "安装失败!!!"
fi