2013-11-20 48 views
0

我有一个命令行PARAMS一个bash脚本,它可能看起来像这样:bash脚本:如何测试参数对?

./myscript.sh -P1 valueofP1 -A3 valueofA3 

有越来越此处显示的值,并具有本地脚本变量P1和A3获得在下面的值的任何常用方法下一个参数?

+1

检查'男人RM1970 getopt' – anubhava

+0

评论是正确的。查看http://stackoverflow.com/questions/16483119/example-of-how-to-use-getopt-in-bash。 – Skurfur

回答

0

shift

while [ $# -gt 0 ] 
do 
    case $1 in 
    -P1) 
     shift 
     arg=$1 
     shift 
     echo "P1:$arg" 
     ;; 
    -A3) 
     shift 
     arg1=$1 
     shift 
     arg2=$1 
     shift 
     echo "A3: $arg1 and $arg2" 
     ;; 
    *) 
     echo "Unknown argument $1" >&2 
     exit 1 
     ;; 
    esac 
done 

用法:

$ ./test.sh -P1 AAA -A3 B C 
P1:AAA 
A3: B and C