我有一个带有命令行参数的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/