日记大全

日记大全 > 句子大全

shell脚本中的case条件语句介绍和使用案例

句子大全 2023-08-02 07:24:02
相关推荐

前言

case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读

case条件语句的语法格式

说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话,则执行*后面的指令,要注意内容的缩进距离

简单记忆

使用实践

实践1.根据用户的输入判断用户输入的是哪个数字,执行相应动作

如果用户输入的是1-9的任意一个数字,则输出对应输入的数字,如果是别的字符,则提示输出不正确并退出程序

说明:使用read读取用户输入的数据,然后使用case条件语句进行判断,根据用户输入的值执行相关的操作

执行效果

实践2.打印一个如下的水果菜单

(1) banana

(2) apple

(3) orange

(4) cherry

脚本编写

说明:定义颜色,使用read读取用户输入的数据,然后使用case条件语句进行判断,根据用户输入的值执行相关的操作,给用户输入的水果添加颜色

扩展:输出菜单的另外种方式

执行效果

如果输入不正确或者不输入的话就打印帮助

#输入选项中的数字,打印相关信息

实践3.开发nginx启动脚本

主要思路:

1.主要通过判断nginx的pid文件有无存在,通过返回值查看有没有运行

2.通过case语句获取参数进行判断

3.引入系统函数库functions中的action函数

4.对函数及命令运行的返回值进行处理

5.设置开机自启动

附上nginx编译安装过程

#脚本编写

执行效果

实践4.开发跳板机

要求用户登录到跳板机后只能执行管理员给定的选项动作,不能中断脚本而到跳板机服务器上执行任何系统命令

思路

1.首先做好ssh key验证登录2.实现远程连接菜单选择脚本3.利用Linux信号防止用户在跳板机上操作4.用户登录后就调用脚本

操作过程

3.1.做ssh免密钥登录,发送到各个主机,如果机器多的话可以使用脚本进行循环发送

3.2.编写脚本

3.3.编写脚本进行判断,判断是否是root用户登录,如果不是root用户就执行脚本,弹出跳板机界面

3.4.测试

登录demo普通用户输入密码的时候就会直接跳到选项卡页面了

选项卡页面

3.5.提示:跳板机的安全

禁止跳板机可以从外网IP进行登录,只能从内网IP登录2.其他服务器也限制只能内网IP登录,同时禁止root登录,做完ssh key认证,将密码登录禁止,通过免密码登录到其他服务器

总结

if条件语句主要用于取值判断、比较,应用比较广,case条件语句只要是写服务的启动脚本,各有各的优势。好了,shell脚本的条件语句就讲解到这里了,接下来会继续写shell脚本的循环(包括for,while等),如果写的不好的地方还望指出,多多交流提高,下次再会。。。

想了解更多精彩内容,快来关注计算机java编程

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新