輸入參數的默認值設定${3:-var_d}

今天看到一個不同的寫法:測試

if [ $# != 2 ] && [ $# != 3 ] ; then #判斷參數個數
    echo "Invalid Args"
    echo "Usage:"
    echo "./version.sh Code Name [branch]"
    exit 2
fispa

Code=$1
Name=$2
branch=${3:-develop}3d

 

首先判斷參數個數,若是參數個數既不是兩個,也不是三個,就認爲是調用腳本的方式有問題,異常退出。blog

我關注的是最後一行,起初看不明白,後來測試了幾回,才發現「-develop」是默認值的意思,即,若是隻輸入了兩個參數,好比./version 1.1.0 110 那麼,第三個參數的值默認爲develop,若是輸入了三個參數,那麼第三個參數的值就是輸入的,好比./version 1.1.0 110  master,那麼第三個參數就是master,以下:it

相關文章
相關標籤/搜索