今天看到一个不一样的写法:
if [ $# != 2 ] && [ $# != 3 ] ; then #判断参数个数
echo "Invalid Args"
echo "Usage:"
echo "./version.sh Code Name [branch]"
exit 2
fi
Code=$1
Name=$2
branch=${3:-develop}
首先判断参数个数,如果参数个数既不是两个,也不是三个,就认为是调用脚本的方式有问题,异常退出。
我关注的是最后一行,起初看不明白,后来测试了几次,才发现“-develop”是默认值的意思,即,如果只输入了两个参数,比如./version 1.1.0 110 那么,第三个参数的值默认为develop,如果输入了三个参数,那么第三个参数的值就是输入的,比如./version 1.1.0 110 master,那么第三个参数就是master,如下: