首页 > 其他分享 >bash:多重选择 - CASE

bash:多重选择 - CASE

时间:2023-01-29 00:45:01浏览次数:32  
标签:CASE shell rocky mcondition 多重选择 echo command root bash

bash:多重选择 - CASE

 

 

 

 

一、说明

 

  1、“case” 使用

 

 

 

 

二、代码

 1 [root@rocky shell]# cat mcondition 
 2 #!/usr/bin/env bash
 3 
 4 
 5 # file_name = mcondtion
 6 
 7 
 8 run()
 9 {
10         if $@
11         then
12                 echo "os_running: ${@}"
13         fi
14 }
15 
16 
17 list()
18 {
19         if  ls -lh      # command as condition of if
20         then
21                 echo
22         fi
23 }
24 
25 
26 mcondition()            #multiple condtions
27 {
28         for v in "$@"
29         do
30 
31                 case ${v} in
32 
33                         "start")
34                                 echo "command: ${v}"
35                                 ;;
36                         "stop")
37                                 echo "command: ${v}"
38                                 ;;
39                         "restart")
40                                 echo "command: ${v}"
41                                 ;;
42                         *)
43                                 echo "other_command: ${v}"
44                                 ;;
45                 esac
46 
47         done
48 }
49 
50 
51 
52 
53 mcondition $@
54 
55 [root@rocky shell]# 
56 [root@rocky shell]# 

 

 

 

 

三、运行结果

 1 [root@rocky shell]# cat mcondition 
 2 #!/usr/bin/env bash
 3 
 4 
 5 # file_name = mcondtion
 6 
 7 
 8 run()
 9 {
10         if $@
11         then
12                 echo "os_running: ${@}"
13         fi
14 }
15 
16 
17 list()
18 {
19         if  ls -lh      # command as condition of if
20         then
21                 echo
22         fi
23 }
24 
25 
26 mcondition()            #multiple condtions
27 {
28         for v in "$@"
29         do
30 
31                 case ${v} in
32 
33                         "start")
34                                 echo "command: ${v}"
35                                 ;;
36                         "stop")
37                                 echo "command: ${v}"
38                                 ;;
39                         "restart")
40                                 echo "command: ${v}"
41                                 ;;
42                         *)
43                                 echo "other_command: ${v}"
44                                 ;;
45                 esac
46 
47         done
48 }
49 
50 
51 
52 
53 mcondition $@
54 
55 [root@rocky shell]# 
56 [root@rocky shell]# 
57 [root@rocky shell]# ./mcondition start stop restart ok ls pwd
58 command: start
59 command: stop
60 command: restart
61 other_command: ok
62 other_command: ls
63 other_command: pwd
64 [root@rocky shell]# 
65 [root@rocky shell]# 

 

 

 

 

四、参考资料:

 

  1、  Conditional structures if and case:  https://docs.rockylinux.org/books/learning_bash/06-conditional-structures/

 

标签:CASE,shell,rocky,mcondition,多重选择,echo,command,root,bash
From: https://www.cnblogs.com/lnlidawei/p/17071582.html

相关文章

  • bash:"IF command"命令作为条件
    bash:"IFcommand"命令作为条件    一、说明 1、IF的条件部分,可以使用linux“命令”。1ifcommand2then3commandif$?=04else5command......
  • nvme硬盘的断电保护是否有用,是噱头、智商税还是真的有需要?购买DOCKCASE智能M2固态硬盘
    最近在某东上买了一个10秒断电保护的nvme硬盘,其实对于这个断电保护有用没有用我是不懂的,也是不care的,买这个硬盘盒主要就是为了这个屏幕去的,不过东西到手后我就开始思考这......
  • Bash: exec
       -aname替换command程序名作为第0个参数    -cExecuteCOMMANDwithanemptyenvironment    -l Placeadashinthezerothargum......
  • bash: redis-server: 未找到命令...
    2023-01-27今天使用xshell连接linux中的redis数据库时,出现的该问题“ bash:redis-server:未找到命令...”使用redis-server/root/myredis/redis.conf命令,连接数......
  • vscode bash
    目录截图步骤截图步骤左下角点击设置选择Settings输入"terminal.integrated.profiles.windows"点击"Editinsettings.json"输入"terminal.integrated.pr......
  • Bash/Shell自建助手函数:ucase、lcase:借助perl一键转换字符串字母为大小或小写
    概述ucase=>转换字母为大写lcase=>转换字母为小写直接在终端中调用ucase、lcase这两个函数即可,管道中有数据传入则读取管道中的数据,管道无数据传入则读取剪贴板中的......
  • Vue源码case
    Object的变化侦测1.封装可观测数据通过Object.defineProperty方法实现了对object数据的可观测,并且封装了Observer类,能够方便的把object数据中所有属性(包括子属性)都转换成......
  • Bash: options
     bash[options][command_string|file]-cIfthen-coptionispresent,thencommandsarereadfromthefirstnon-optionargumentcommand_string.Ifthere......
  • Bash: Iterate over positional parameters
     forparam#!/usr/bin/env-vSbashforparam;doecho$paramdone for${!i}#!/usr/bin/env-vSbashfor((i=1;i<=$#;++i));doecho${!i}don......
  • bash命令速查表
    获取自:BashCheatsheet###############################################################################BASHCHEATSHEET(中文速查表)-byskywind(createdon......