admin管理员组文章数量:1635372
- 案例1:基于case分支编写脚本
- 案例2:编写一键部署软件脚本
- 案例3:启动脚本
- 案例4:使用Shell函数
- 案例5:中断及退出
- 案例6:字符串截取及切割
- 案例7:字符串初值的处理
1 案例1:基于case分支编写脚本
1.1 问题
本案例要求编写test.sh脚本,相关要求如下:
- 能使用redhat、fedora控制参数
- 控制参数通过位置变量$1传入
- 当用户输入redhat参数,脚本返回fedora
- 当用户输入fedora参数,脚本返回redhat
- 当用户输入其他参数,则提示错误信息
1.2 方案
case分支属于匹配执行的方式,它针对指定的变量预先设置一个可能的取值,判断该变量的实际取值是否与预设的某一个值相匹配,如果匹配上了,就执行相应的一组操作,如果没有任何值能够匹配,就执行预先设置的默认操作。
case分支的语法结构如下所示:
- case 变量 in
- 模式1)
- 命令序列1 ;;
- 模式2)
- 命令序列2 ;;
- .. ..
- *)
- 默认命令序列
- esac
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写脚本文件
脚本编写参考如下:
- [root@svr5 ~]# vim test.sh
- #!/bin/bash
- case $1 in
- redhat)
- echo "fedora";;
- fedora)
- echo "redhat";;
- *) //默认输出脚本用法
- echo "用法: $0 {redhat|fedora}"
- esac
- [root@svr5 ~]# chmod +x test.sh
步骤三:验证、测试脚本
未提供参数,或提供的参数无法识别时,提示正确用法:
- [root@svr5 ~]# ./test.sh
- 用法: ./test.sh {redhat|fedora}
确认脚本可以响应redhat控制参数:
- [root@svr5 ~]# ./test.sh redhat
- fedora
确认脚本可以响应fedora控制参数:
- [root@svr5 ~]# ./test.sh fedora
- redhat
2 案例2:编写一键部署软件脚本
2.1 问题
本案例要求编写脚本实现一键部署Nginx软件(Web服务器):
- 一键源码安装Nginx软件
- 脚本自动安装相关软件的依赖包
2.2 步骤
实现此案例需要按照如下步骤进行。
1)依赖包
源码安装Nginx需要提前安装依赖包软件gcc,openssl-devel,pcre-devel
步骤一:编写脚本
1)参考脚本内容如下:
- [root@svr5 ~]# vim test.sh
- #!/bin/bash
- yum -y install gcc openssl-devel pcre-devel
- tar -xf nginx-1.12.2.tar.gz
- cd nginx-1.12.2
- ./configure
- make
- make install
2)确认安装效果
Nginx默认安装路径为/usr/local/nginx,该目录下会提供4个子目录,分别如下:
/usr/local/nginx/conf 配置文件目录
/usr/local/nginx/html 网站页面目录
/usr/local/nginx/logs Nginx日志目录
/usr
版权声明:本文标题:基于case分支编写脚本,编写一键部署软件脚本,启动脚本,使用Shell函数,中断及退出,字符串截取及切割,字符串初值的处理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729204501a1189903.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论