觉得不够养眼?没有关系如下图:

我们发现,在多个选项的这些脚本中呢,还是使用case语句是比较方便合适的。
那么我们掌握了基本的语法和它的一些功能,那么我们可以结合函数+case语句来完成一个菜单式的安装脚本如下:
#!/bin/bash
# Date: 4:42 2018-2-5
# Mail: ywyankerp@163.com
# Founder: <YanKai>
# Describe: This is a one - button installation service script
function CDAN(){
cat << yankerp
+------------------------------------------------+
| |
| _o0o_ 1. 安装Nginx |
| 08880 2. 安装Apache |
| 88"."88 3. 安装MySQL |
| (|-_-|) 4. 安装PHP |
| 0=/0 5. 部署LNMP环境 |
| __/ __ 6. 安装zabbix监控 |
| ‘ ///‘ 7. 退出此管理程序 |
| / Linux一键 8. 关闭计算机 |
| || Server || ====================== |
| //// 一键安装服务 |
| ||| i i i ||| by Yankerp |
| ___ ___ ====================== |
|___‘. /--.-- .‘___ |
+------------------------------------------------+
yankerp
}
CDAN
. /etc/init.d/functions
BASE_DIR=/usr/local/src
read -p "请您输入1-8任意字符:" NUM
expr $NUM + 1 &>/dev/null
if [ "$?" -ne 0 ]
then
echo "请您输入{1|2|3|4|5|6|7|8}"
exit 1
fi
function Nginx_server (){
echo "开始安装Nginx请稍后...."
yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl-devel &>/dev/null
cd $BASE_DIR && wget http://nginx.org/download/nginx-1.12.2.tar.gz &>/dev/null && useradd -M -s /sbin/nologin nginx &&
tar zxf nginx-1.12.2.tar.gz && cd $BASE_DIR/nginx-1.12.2/ &&
./configure --prefix=/usr/local/nginx --with-http_dav_module--with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module--with-pcre --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx &>/dev/null
if [ "$?" -eq 0 ]
then
make && make install &>/dev/null
fi
if [ -f /usr/local/nginx/sbin/nginx ];then
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin && nginx && echo "Nginx安装成功!"
fi
}
function Apache_server (){
echo "开始安装Apache请稍后"
yum install httpd -y &>/dev/null
if [ "$?" -eq 0 ]
then
echo "Apache安装成功!"
else
echo "Apache安装失败!"
fi
}
case $NUM in
1)
Nginx_server
;;
2)
Apache_server
;;
esac
运行结果如下:

以上脚本大家可以参考参考,很简单实现,那么接下来在来一个案例
实战2:编程Nginx启动脚本
编译安装的Nginx是没有启动脚本的,这时候我们可以选择自己写一个,在这里我用我的思路给大家解释整个过程虽然不是很规范,希望还是能够帮助到你如下:










