1. 程式人生 > >【shell】獲取第10+個位置參數

【shell】獲取第10+個位置參數

ldo 執行 logs 解釋 shell腳本 ron 花括號 2個 bin

轉載自:http://www.cnblogs.com/sheldonxu/archive/2012/06/25/2560770.html

在Shell腳本中,可以用$n的方式獲取第n個參數,例如,一個名為paramtest的腳本:

    #!/bin/bash
    echo $1 $2

執行./paramtest a b 的結果是打印出第1個和第2個參數:

    a b

但是,若腳本需要10個以上的參數,直接寫數字會有問題。例如,腳本為:

    #!/bin/bash
    echo $1 $2 $3 $4 $6 $7 $8 $9 $10

執行./paramtest a b c d e f g h i j,結果如下,第10個參數是不對的:

    a b c d e f g h i a0

顯然$10被解釋成了$1+0。

解決方法很簡單,第10個參數加花括號即可:

    #!/bin/bash
    echo $1 $2 $3 $4 $6 $7 $8 $9 ${10}

再次執行./paramtest a b c d e f g h i j,結果正確:

    a b c d e f g h i j

【shell】獲取第10+個位置參數