命令行參數
在運行腳本時,有時需要輸入參數,輸入的參數稱為命令行參數。命令行參數會按照參數輸入的順序將輸入參數依次賦值給位置參數變量。
$0 是腳本的路徑名,
$1 是第一個參數
$2 是第二個參數
…
$9 是第九個參數
${10} 是第十個參數
在腳本中就按照上述方式引用輸入的參數變量
$# 該變量存儲的是實際輸入給腳本的參數的個數
$(basename $0) 可以獲得腳本的名字,而不是路徑名
${!#} 獲取輸入參數中最后一個參數的值
$* 將所有輸入的參數當作一個整體
$@ 將所有輸入的每一個參數當作一個單獨的個體
$* 和 $@ 兩者都可已獲取到所有的輸入參數
$$ 腳本運行的當前進程ID號
$? 顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤
shift 命令
shift :將所有輸入的命令行參數向左移動一個位置
參數: a b c d e
移動前:$1->a, $2->b, $3->c, $4->d, $5->e
shift 移動后: $1->b, $2->c, $3->d, $4->e 參數a被移除掉了並且無法恢復
shift n:將所有輸入的命令行參數向左移動n個位置