我有一个带有命令行参数的bash脚本,看起来像这样:

./myscript.sh -P1 valueofP1 -A3 valueofA3


是否有任何通用的方法来获取此处显示的值并使本地脚本变量P1和A3获得下一个参数中的值?

最佳答案

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

关于linux - bash脚本:如何测试参数对?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20101929/

10-13 09:11