• Linux Shell编程(19)——测试与分支


    case和select结构在技术上说不是循环,因为它们并不对可执行的代码块进行迭代.但是和循环相似的是,它们也依靠在代码块的顶部或底部的条件判断来决定程序的分支.


    在代码块中控制程序分支


    case (in) / esac
    在shell中的case同C/C++中的switch结构是相同的.它允许通过判断来选择代码块中多条路径中的一条.它的作用和多个if/then/else语句相同,是它们的简化结构,特别适用于创建目录.
    case "$variable" in 
    
    
    ?"$condition1" ) 
    ?command... 
    ?;; 
    
    
    ?"$condition2" ) 
    ?command... 
    ?;; 
    
    
    esac




    对变量使用""并不是强制的,因为不会发生单词分离.
    每句测试行,都以右小括号)结尾.
    每个条件块都以两个分号结尾;;.
    case块的结束以esac(case的反向拼写)结尾.


    例子:使用case
    #!/bin/bash
    # 测试字符串范围
    
    
    echo; echo "Hit a key, then hit return."
    read Keypress
    
    
    case "$Keypress" in
      [[:lower:]]   ) echo "Lowercase letter";;
      [[:upper:]]   ) echo "Uppercase letter";;
      [0-9]         ) echo "Digit";;
      *             ) echo "Punctuation, whitespace, or other";;
    esac      #  允许字符串的范围出现在[]中,
              #+ 或者POSIX风格的[[中.
    
    
    #  在这个例子的第一个版本中,
    #+ 测试大写和小写字符串使用的是
    #+ [a-z] 和 [A-Z].
    #  这种用法将不会在某些特定的场合或Linux发行版中正常工作.
    
    
    exit 0




  • 相关阅读:
    silverlight的TranslateTransform 的使用
    720 JavaScript函数的this指向
    JavaScript数组
    JavaScriptDOM事件
    JavaScript流程控制语句
    CSS布局案例
    JavaScriptDOM基础
    JavaScriptDOM事件
    JavaScript基础语法
    JavaScript的String对象相关方法
  • 原文地址:https://www.cnblogs.com/new0801/p/6176861.html
Copyright © 2020-2023  润新知