处理命令行中参数中的选项

5年以前  |  阅读数:502 次  |  编程语言:Shell 

使用shift命令移动位置参数,从而处理多个简单选项

# !/bin/bash           

while [ -n "$1" ]               # 通过循环,遍历$1位置参数
do
    case "$1" in                # 使用case命令,匹配$1位置上的选项
    "-a")                       # 变量值最好用双引号括起来,关键字用小括号括起来
        echo 'Option a'         # 若命令行输入-a,则命中,本行可写入相关选项逻辑
        ;;                      # 每个类别结尾使用两个连续的分号来处理
    "-b")  
        echo 'Option b'         # 若命令行输入-b,则命中,本行可写入相关选项逻辑
        ;;      
    "-c") 
        echo 'Option c'         # 若命令行输入-c,则命中,本行可写入相关选项逻辑
        ;;      
    esac
    shift                       # 把$2位置参数向前移动到$1,原$1位置参数不可用
done

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8