【Shell】简单的交互式脚本

您所在的位置:网站首页 shell与mysql交互 【Shell】简单的交互式脚本

【Shell】简单的交互式脚本

2023-11-18 01:55| 来源: 网络整理| 查看: 265

交互式脚本

前言: 最近写了个服务部署脚本,为了简化操作,我把脚本的执行命令全部封装到脚本中,这样在部署的时候,小伙伴只需要通过输入不同的选择,就可以完成部署,这样也避免操作失误,对环境产生影响;

准备

首先我们来看一下,写一个交互式脚本需要了解shell哪些知识? 1.shell-变量; 2.shell-参数传递; 3.shell-流程控制; 4.shell-函数; 5.shell-输入输出; 6.shell-文件读取; 7.shell-结束指令;

简单的交互

demo.sh

choose_environment() { # 重新选择 reselect=${1} if [ $reselect == 0 ];then echo '请选择要操作的环境: ' elif [ $$reselect == 1 ];then echo '请重新选择要操作的环境: ' fi echo '1.开发环境' echo '2.测试环境' echo 'q.结束' # 获取用户的输入 read -p '请输入序号, 选择环境: ' -n 1 environmentnum echo '\n' # 这里注意,判断空必须加双引号,双引号识别为没有内容;主要处理没有输入指令直接回车 if [ -z "$environmentnum" ];then choose_environment 0 elif [ $environmentnum == 1 ];then echo '进入开发环境操作' elif [ $environmentnum == 2 ];then echo '进入测试环境操作' elif [ $environmentnum == 'q' ];then echo '欢迎再次使用' # 结束脚本执行 exit 1 else echo '不支持的序号' echo $environmentnum choose_environment 1 fi } choose_environment 0

上面部分代码写了注释: 我们对上面用到的指令进行一一解释它的作用:

1.reselect: 是接受传递进来的第一个参数的变量;通过 ${数字} 的语法去接受参数; 2.if, elif, else, fi: 是流程控制指令; [ $reselect == 0 ] 是用来做判断;在脚本中使用变量,要使用 $ 变量名的方式;判断语句必须和中括号之间存在一个空格;== 是做值判断;分号是判断语句结束标志;[ -z “$environmentnum” ] 这里的 -z 是判断变量值是否为空;then 后面跟进入判断语句的执行内容;fi 是流程控制语句的结束标志,在一个流程控制中必须存在,和 if 成对出现; 3.echo一般是做内容输出到命令行; 4.(read -p '请输入序号, 选择环境: ’ -n 1 environmentnum): read 是用来读取用户在命令行的输入;-p 后面跟的是提示文案;-n 后面跟的是限定输入字符个数;environmentnum 是用来接受用户在命令行输入的内容 5.choose_environment choose_environment(): 是定义的函数choose_environment 0: 是调用函数代码,其中 0 是第一个传递参数的值;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3