shell语句中的case语句使用注意事项,shell脚本中case用法,Shell编程之case语句实战(小结)

shell语句中的case语句使用注意事项,shell脚本中case用法,Shell编程之case语句实战(小结)

本文主要介绍Shell编程的实际案例语句(总结)。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。

大家好,今天给大家带来的是Shell编程中case语句的使用!

其实案情陈述很好理解。在shell编程中,if语句有其语法,函数也是如此,我们的shell编程中的case语句也是如此,如下所示:

Case变量名在

1)价值

1条指令

2)价值

2条说明

3)价值

3条说明

environmental systems applications center 环境系统应用程序中心

在上面的代码中,我们发现它以case开头,以esac结尾,就像我们的if语句一样,以if开头,以fi结尾。

例2:

案例“寻找丈夫的条件”

家里有房子)

嫁给你.

家庭背景)

嫁给你.

辛苦了)

那我们就先说说男女朋友吧。

environmental systems applications center 环境系统应用程序中心

好,接下来我们来练习。其实语法就是上面的一些基本语法,那么case在实践中有什么用呢?

其实我觉得case语句更适合一些菜单选项的脚本,所以我们先用if语句写一个菜单脚本如下:

#!/bin/bash

#!/bin/bash

#日期:2018-2-5 4:42

#邮件:ywyankerp@163.com

#创始人:颜楷

# Describe:这是一个一键式安装服务脚本

函数CDAN(){

卡特彼勒yankerp

1.米

2.面条

3.包子

扬克尔普

}

CDAN

Read -p请输入您今天想吃的食物:NUM

表达式$NUM 1 /dev/null

如果[ '$?'-ne 0 ]

然后

Echo“请输入{1|2|3}”

1号出口

船方不负担装货费用

if [ '$NUM' -eq 1 ]

然后

附和‘小二,一碗饭’

elif [ $NUM -eq 2 ]

然后

附和‘小二,吃碗面’

elif [ '$NUM' -eq 3 ]

然后

附和‘小二,来一壶包子’

船方不负担装货费用

首先,当我们看到上面我们的if语句时,是不是感觉有点繁琐?接下来,我们使用case语句来实现它,如下所示:

#!/bin/bash

#!/bin/bash

#日期:2018-2-5 4:42

#邮件:ywyankerp@163.com

#创始人:颜楷

# Describe:这是一个一键式安装服务脚本

函数CDAN(){

卡特彼勒yankerp

1.米

2.面条

3.包子

扬克尔普

}

CDAN

Read -p请输入您今天想吃的食物:NUM

表达式$NUM 1 /dev/null

如果[ '$?'-ne 0 ]

然后

Echo“请输入{1|2|3}”

1号出口

船方不负担装货费用

案例$NUM in

1)

附和‘小二,一碗饭’

2)

附和‘小二,吃碗面’

3)

附和‘小二,来一壶包子’

environmental systems applications center 环境系统应用程序中心

剖析时刻:

#!/bin/bash

#!/bin/bash

#日期:2018-2-5 4:42

#邮件:ywyankerp@163.com

#创始人:颜楷

# Describe:这是一个一键式安装服务脚本

函数CDAN(){ #定义了一个CDAN函数

卡特彼勒yankerp

1.米

2.面条

3.包子

扬克尔普

}

CDAN #调用CDAN函数

Read -p请输入今天想吃什么:NUM #输入一个提示,然后将用户输入的字符串赋给变量NUM。

R $ num1/dev/null #使用数值运算命令expr来确定用户输入是否为数值。

如果[ '$?'-ne 0] #如果用户输入的不是数值

那么#所以

Echo“请输入{ 1 | 2 | 3 }”# print out 1 2 3

1 #最后退出脚本。

Fi # end if语句

Case $NUM in #这里是我们的Case语句,很容易理解,在变量NUM中。

1) #如果用户输入1

Echo '秒,吃一碗饭' #然后输出一行吃一碗饭

2) #如果用户在NUM变量中输入2

Echo第二,吃碗面’#然后继续打印这个内容。

3) #以此类推。

附和‘小二,来一壶包子’

Esac #最后以Esac结尾。

觉得不够吸引人?没有如下关系:

我们发现,在这些具有多个选项的脚本中,使用case语句更方便、更合适。

那么我们掌握了基本的语法和它的一些功能,那么我们可以结合函数情况语句来完成一个菜单式的安装脚本如下:

#!/bin/bash

#日期:2018-2-5 4:42

#邮件:ywyankerp@163.com

#创始人:颜楷

#描述:这是一个一键式安装服务脚本

函数CDAN(){

卡特彼勒扬克尔普

-

| |

| _o0o_ 1 .安装Nginx |

| 08880 2.安装阿帕奇|

| 88'.'88 3.安装MySQL |

| (|-_-|) 4.安装PHP |

| 0\=/0 5.部署LNMP环境|

| __/\__ 6.安装扎比克斯监控|

| '\ ///' 7.退出此管理程序|

|/Linux一键\ 8.关闭计算机|

| ||服务器| |=======================|

| \ ////一键安装服务|

|||我我||作者:杨克普|

| ___ ___======================|

|___'./- .- \ .'___ |

-

扬克尔普

}

CDAN。/etc/init。d/函数

BASE_DIR=/usr/local/src

'读-p请您输入1-8任意字符:'数字

表达式$NUM 1 /dev/null

如果[ '$?'-ne 0 ]

然后

回声请您输入{1|2|3|4|5|6|7|8}'

一号出口

船方不负担装货费用

函数Nginx_server (){

回声开始安装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用户添加-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 _ add _ module-with-http _ MP4 _ module-with-pcre-with-http _ SSL _ module-with-http _ gzip _ static _ module-user=nginx-group=nginx/dev/null

如果[ '$?'-eq 0 ]

然后

make make install /dev/null

船方不负担装货费用

if[-f/usr/local/nginx/sbin/nginx];然后

ln-s/usr/local/Nginx/sbin/Nginx/usr/local/sbin Nginx echo ' Nginx安装成功!'

船方不负担装货费用

}

函数Apache_server (){

回声开始安装街头流氓请稍后'

妙的安装httpd -y /dev/null

如果[ '$?'-eq 0 ]

然后

回声阿帕奇安装成功!'

其他

回声阿帕奇安装失败!'

船方不负担装货费用

}

案例$NUM in

1)

Nginx_server

2)

Apache_server

环境系统应用中心环境系统应用程序中心

运行结果如下:

以上脚本大家可以参考参考,很简单实现,那么接下来在来一个案例

实战2:编程Nginx启动脚本

编译安装的Nginx是没有启动脚本的,这时候我们可以选择自己写一个,在这里我用我的思路给大家解释整个过程虽然不是很规范,希望还是能够帮助到你如下:

#!/bin/bash

BASE _ DIR=/usr/local/nginx/sbin/

PID=/usr/local/nginx/logs/nginx。PID

#第一。判断是否根用户登录

if [ '$UID' -ne 0 ]

然后

回声请您使用根用户登录!'

一号出口

船方不负担装货费用。/etc/init。d/函数

#判断用户输入的传参个数

如果[ '$#' -ne 1 ]

然后

echo '/bin/bash $ 0 { start | stop | restart } '

一号出口

船方不负担装货费用

#编写启动Nginx函数

函数start (){

if[` netstat-an put | grep nginx | WC-l `-eq 0]

然后

$BASE_DIR/nginx

船方不负担装货费用

如果[ '$?'-eq 0 ]

然后

行动Nginx启动成功!'/bin/true

其他

行动Nginx启动失败!'/bin/false

船方不负担装货费用

}

#编写停止Nginx函数

函数stop (){

if[` netstat-an put | grep nginx | WC-l `-ne 0]

然后

$BASE_DIR/nginx -s停止

船方不负担装货费用

如果[ '$?'-eq 0 ]

然后

行动Nginx停止成功!'/bin/true

其他

行动Nginx停止失败!'/bin/false

船方不负担装货费用

}

#编写情况语句使用特殊的位置变量$1来判断用户输入的内容

案例一美元英寸

开始)

开始

停止)

停止

重启)

停止

开始

环境系统应用中心环境系统应用程序中心

运行如下:

一张图更清晰解释

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: