返回顶部
首页 > 资讯 > 精选 >Shell编程之case语句有什么用
  • 852
分享到

Shell编程之case语句有什么用

2023-06-09 15:06:50 852人浏览 八月长安
摘要

小编给大家分享一下shell编程之case语句有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的ca

小编给大家分享一下shell编程之case语句有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的case语句也是有它的语法的,如下:

case 变量名 in   值1)    指令1   ;;   值2)    指令2   ;;   值3)    指令3   ;; esac

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

例2:

case "找老公条件" in    家里有房子)     嫁给你...   ;;    家庭有背景)     嫁给你...   ;;    很努力吃苦)     那么我们可以先谈男女朋友..   ;; esac

好了接下来我们实践,其实语法就是上面的一些基本语法,那么我么在实践中来体会case到底有什么用

其实自我认为case语句更适合一些菜单选项的脚本,那么我们先用if语句写一个菜单脚本如下:

#!/bin/bash #!/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  1.米饭 2.面条 3.包子 yankerp } CDAN read -p 请您输入您今天要吃什么: NUM expr $NUM + 1 &>/dev/null if [ "$?" -ne 0 ]  then   echo "请您输入{1|2|3}"    exit 1 fi  if [ "$NUM" -eq 1 ]   then    echo "小二,来一碗米饭" elif [ $NUM -eq 2 ]   then    echo "小二,来一碗面条" elif [ "$NUM" -eq 3 ]   then    echo "小二,来一锅包子" fi

Shell编程之case语句有什么用

首先我们看到我们上面的if语句,是不是感觉有点繁琐,那么接下来我们使用case语句来实现 如下:

#!/bin/bash #!/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  1.米饭 2.面条 3.包子 yankerp } CDAN read -p 请您输入您今天要吃什么: NUM expr $NUM + 1 &>/dev/null if [ "$?" -ne 0 ]  then   echo "请您输入{1|2|3}"    exit 1 fi  case $NUM in     1)      echo "小二,来一碗米饭"     ;;     2)      echo "小二,来一碗面条"     ;;     3)      echo "小二,来一锅包子"     ;; esac

Shell编程之case语句有什么用

剖析时刻:

#!/bin/bash #!/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(){  #定义一个CDAN的函数 cat << yankerp    1.米饭 2.面条 3.包子 yankerp } CDAN       #调用CDAN函数 read -p 请您输入您今天要吃什么: NUM  #输入一条提示,然后把用户输入的字符串赋值给变量NUM expr $NUM + 1 &>/dev/null     # 使用数值运算命令expr来确定用户输入的是否是数值 if [ "$?" -ne 0 ]         #如果用户输入的不是数值  then      #那么   echo "请您输入{1|2|3}"   #打印出 1 2 3    exit 1       #最后退出脚本 fi        #结束if语句  case $NUM in    #这里就是我们的case语句了,简单理解,在NUM这个变量中     1)       #如果用户输入的是1      echo "小二,来一碗米饭"    #那么就输出一行来一碗米饭     ;;     2)             #如果在NUM变量中用户输入的是2      echo "小二,来一碗面条"  #那么继续打印此内容     ;;     3)              #以此类推      echo "小二,来一锅包子"     ;; esac       #最后使用esac结束

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

Shell编程之case语句有什么用

我们发现,在多个选项的这些脚本中呢,还是使用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

运行结果如下:

Shell编程之case语句有什么用

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

实战2:编程Nginx启动脚本

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

#!/bin/bash BASE_DIR=/usr/local/nginx/sbin/ PID=/usr/local/nginx/logs/nginx.pid #no1.判断是否root用户登录 if [ "$UID" -ne 0 ]  then   echo "请您使用root用户登录!!!"  exit 1 fi . /etc/init.d/functions  #判断用户输入的传参个数 if [ "$#" -ne 1 ]   then     echo "/bin/bash $0 {start|stop|restart}"   exit 1 fi  #编写启动Nginx函数 function start (){   if [ `netstat -anput | grep nginx | wc -l` -eq 0 ]     then      $BASE_DIR/nginx   fi     if [ "$?" -eq 0 ]      then       action "Nginx启动成功!" /bin/true      else       action "Nginx启动失败!" /bin/false     fi }  #编写停止Nginx函数 function stop (){   if [ `netstat -anput | grep nginx | wc -l` -ne 0 ]     then      $BASE_DIR/nginx -s stop   fi     if [ "$?" -eq 0 ]      then       action "Nginx停止成功!" /bin/true      else       action "Nginx停止失败!" /bin/false     fi }  #编写case语句 使用特殊的位置变量$1来判断用户输入的内容 case $1 in   start)      start   ;;   stop)      stop   ;;     restart)      stop      start   ;; esac

运行如下:

Shell编程之case语句有什么用

一张图更清晰解释

Shell编程之case语句有什么用

Shell编程之case语句有什么用

看完了这篇文章,相信你对“Shell编程之case语句有什么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Shell编程之case语句有什么用

本文链接: https://lsjlt.com/news/256423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell编程之case语句有什么用
    小编给大家分享一下Shell编程之case语句有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的ca...
    99+
    2023-06-09
  • shell脚本编程之case语句学习笔记
    case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句。shell编程中的case语句也是这个意思...
    99+
    2022-06-04
    语句 脚本 学习笔记
  • Shell case语句怎么用
    这篇文章主要讲解了“Shell case语句怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell case语句怎么用”吧!shell脚本中case选择语句可以结合read指令实现比...
    99+
    2023-06-27
  • shell脚本编程中case语句的实例用法
    本篇内容介绍了“shell脚本编程中case语句的实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!case语句是用来实现多个if..e...
    99+
    2023-06-09
  • Shell脚本case语句简明教程
    Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: case 值 in 模式1) command1 ...
    99+
    2022-06-04
    简明 语句 脚本
  • oracle的case when语句有什么作用
    Oracle的CASE WHEN语句用于在查询中根据条件执行不同的操作。它类似于编程语言中的if-else语句,允许根据给定条件选择...
    99+
    2024-05-14
    oracle
  • Shell脚本编程之判断语句怎么用
    这篇文章给大家分享的是有关Shell脚本编程之判断语句怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、单分支if语句格式:if 判断条件;thenstatement1statement2...fi二、双分...
    99+
    2023-06-09
  • shell脚本编程之循环语句怎么用
    小编给大家分享一下shell脚本编程之循环语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循...
    99+
    2023-06-09
  • shell脚本编程之for语句、if语句使用介绍
    上部: 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一、for语句 格式: for 变量 in 列表;do 语句1; ...
    99+
    2022-06-04
    语句 脚本 shell
  • shell脚本编程之循环语句
    在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。 一、for命令 格式:for 变量 in 列表;do 循环体 done for命令会遍历列表中的每一个值,...
    99+
    2022-06-04
    语句 脚本 shell
  • Shell脚本编程之判断语句
    一、单分支if语句 格式:if 判断条件;then statement1 statement2 ... fi 二、双分支的if语句 格式:if 判断条件; then statement1 sta...
    99+
    2022-06-04
    语句 脚本 Shell
  • 如何使用Shell脚本case语句
    这篇文章主要介绍“如何使用Shell脚本case语句”,在日常操作中,相信很多人在如何使用Shell脚本case语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Shell脚本case语句”的疑惑有所...
    99+
    2023-06-09
  • linux bash shell中case语句的用法
    本篇内容介绍了“linux bash shell中case语句的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!bash case语句的例...
    99+
    2023-06-09
  • Shell编程之if语句的示例分析
    这篇文章给大家分享的是有关Shell编程之if语句的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、if条件语句1、单分支语句结构第一种语法如下:if <条件表达式> &...
    99+
    2023-06-09
  • shell脚本编程之if语句学习笔记
    我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看。先来学习一下条件语句if的用法,通...
    99+
    2022-06-04
    语句 脚本 学习笔记
  • Linux shell脚本编程if语句怎么用
    小编给大家分享一下Linux shell脚本编程if语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!if 语句格式if  条件then ...
    99+
    2023-06-09
  • MySQL基础入门之Case语句怎么使用
    在MySQL中,CASE语句可以根据条件执行不同的操作。下面是一个简单的例子,演示如何在MySQL中使用CASE语句: 使用CAS...
    99+
    2024-04-09
    mysql
  • VB.NET中CASE语句怎么用
    小编给大家分享一下VB.NET中CASE语句怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如果要将同一个表达式与不同的值进行比较,则可以用 Select...Case 语句来替换 If...Then...Else 语...
    99+
    2023-06-17
  • linux shell流程控制语句实例讲解(if、for、while、case语句实例)
    一、shell条件语句(if用法) if语句结构[if/then/elif/else/fi] if 条件测试语句 then action [elif 条件 action else action ] fi...
    99+
    2022-06-04
    语句 实例 流程
  • C语言switch case语句的执行流程是什么
    C语言的switch case语句的执行流程如下:1. 首先,计算switch语句中的表达式的值。2. 根据表达式的值,程序将跳转到...
    99+
    2023-09-20
    C语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作