高级bash脚本编写指南 Zsh 开发指南(一):变量和语句

11/27 23:17:40 来源网站:辅助卡盟平台

   echo $num

}

{ }用于在当前 shell 运行命令并且判断运行结果。

  1. # 格式

    if { } {

    }

    1. # 样例

      if {grep sd1 /etc/fstab} {

         echo good

      }

      ( )用于在子 shell 运行命令并且判断运行结果,用法和{}类似,不再举例。

      1. # 格式

        if ( ) {

        }

        这几种括号可以一起使用,这样可以同时判断字符串、数值、文件、命令结果等等。最好不要混合使用&&||,会导致可读性变差和容易出错。

        1. # 格式

          if [[ ]] && (( )) && { } {

          }

          循环语句

          1. # 格式

            while [[ ]] {

               break/continue

            }

            和if一样,这里的[[ ]]可以替换成其他几种括号,功能也是一样的,不再依次举例。break用于结束循环,continue用于直接进入下一次循环。所有的循环语句中都可以使用break和continue,下边不再赘述。

            1. # 样例 死循环

              while (( 1 )) {

                 echo good

              }

              until和while相反,不满足条件时运行,一旦满足则停止,其他的用法和while相同,不再举例。

              1. # 格式

                until [[ ]] {

                }

                for循环主要用于枚举,这里的括号是for的特有用法,不是在子 shell 执行。括号内是字符串(可放多个,空格隔开)、数组(可放多个)或者哈希表(可放多个,哈希表是枚举值而不是键)。i是用于枚举内容的变量名,变量名随意。

                1. # 格式

                  for i ( ) {

                  }

                  1. # 样例

                    for i (aa bb cc) {

                       echo $i

                    }

                    # 枚举当前目录的 txt 文件

                    for i (*.txt) {

                       echo $i

                    }

                    # 枚举数组

                    array=(aa bb cc)

                    for i ($array) {

                       echo $i

                    }

                    经典的 c 风格 for 循环。

                    1. # 格式

                      for (( ; ; )) {

                      }

                      1. # 样例

                        for ((i=0; i < 10; i++)) {

                           echo $i

                        }

                        这个样例只是举例,实际上多数情况不需要使用这种for循环,可以这样。

                        1. # 样例,{1..10} 可以生成一个 1 10 的数组

                          for i ({1..10}) {

                             echo $i

                          }

                          repeat语句用于循环固定次数,n是一个整数或者内容为整数的变量。

                          1. # 格式

                            repeat n {

                            }

                            1. # 样例

                              repeat 5 {

                                 echo good

                              }

                              分支语句

                              分支逻辑用if也可以实现,但case更适合这种场景,并且功能更强大。

                              1. # 格式 + 样例

                                case $i {

                                   (a)

                                   echo 1

                                   ;;

                                   (b)

                                   echo 2

                                   # 继续执行下一个

                                   ;&

                                   (c)

                                   echo 3

                                   # 继续向下匹配

                                   ;|

                                   (c)

                                   echo 33

                                   ;;

                                   (d)

                                   echo 4

                                   ;;

                                   (*)

                                   echo other

                                   ;;

                                }

                                ;;代表结束 case 语句,;&代表继续执行紧接着的下一个匹配的语句(不再进行匹配),;|代表继续往下匹配看是否有满足条件的分支。

                                用户输入选择语句

                                select语句是用于根据用户的选择决定分支的语句,语法和for语句差不多,如果不break,会循环让用户选择。

                                1. # 格式

                                  select i ( ) {

                                  }

                                  1. # 样例

                                    select i (aa bb cc) {

                                       echo $i

                                    }

                                    输出是这样的。

                                    1. 1) aa  2) bb  3) cc

                                      ?#

                                      按上边的数字加回车来选择。

                                      异常处理语句

                                      1. # 格式

                                        {

                                           语句 1

                                        } always {

                                           语句 2

                                        }

                                        如果语句 1 执行出错,则执行语句 2。

                                        简化的条件语句

                                        if语句的简化版,在只有一个分支的情况下更简洁,功能和if语句类似,不赘述。

                                        1. 格式:

                                          [[ ]] || {

                                          }

                                          [[ ]] && {

                                          }

                                          最好不要连续混合使用&&||,比如。

                                          1. aa && bb || cc && dd

                                            容易导致逻辑错误或者误解,可以用{ }把语句包含起来。

                                            1. aa && { bb || { cc && dd } }

                                              比较复杂的判断还是用if可读写更好,&&||通常只适用于简单的场景。

                                              总结

                                              本篇简单介绍了变量和语句的使用方法。变量部分只涉及了最基础常用的部分,后续文章会详细介绍。语句部分已经覆盖了所有需要使用的语句,实际上这些语句都不只有这一种语法,但本系列文章统一使用这个语法。但涉及到的几种括号的用法比较复杂,之后的文章也会详细介绍。

                                              来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    暂无相关资讯
高级bash脚本编写指南 Zsh 开发指南(一):变量和语句