Linux Shell编程case语句

Linux Shell编程case语句 编程

case语句适用于须要进行多重分支的应用状况。 vim

        case分支语句的格式以下:bash

            case $变量名 inspa

                模式1ip

            命令序列1input

            ;;it

                模式2table

            命令序列2class

           ;; 变量

                *)

            默认执行的命令序列     ;; 

          esac 

        case语句结构特色以下:

        case行尾必须为单词“in”,每个模式必须以右括号“)”结束。

        双分号“;;”表示命令序列结束。

        匹配模式中但是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。

        最后的“*)”表示默认模式,当使用前面的各类模式均没法匹配该变量时,将执行“*)”后

    的命令序列。

实例分析:

写一个脚本,判断一个指定的脚本是不是语法错误;若是有错误,则提醒用户键入Q或者q无视错误并退出其它任何键能够经过vim打开这个指定的脚本;

#!/bin/bash

read -p "please input check script-> " file
if [  -f $file ]; then
        sh -n $file > /dev/null 2>&1
        if [ $? -ne 0 ]; then
                read -p "You input $file syntax error,[Type q to exit or Type vim to edit]" answer
                case $answer in
                    q | Q)
                         exit 0
                         ;;
                     vim)
                         vim $file
                         ;;
                     *)
                        exit 0
                         ;;
                esac

        fielse        echo "$file not exist"        exit 1fi

相关文章
相关标签/搜索