shift命令用於對參數的向左移動,一般用於在不知道傳入參數個數的狀況下依次遍歷每一個參數,而後進行相應的處理(常見與Linux中各類程序的啓動腳本)。在掃描處理腳本程序的參數時,常常要用到shift命令。vim
shift命令每執行一次,參數序列順次左移一個位置,$#的值減1,用於分別處理每一個參數,移出去的參數再也不可用。bash
注意:$#表示腳本後跟隨的參數總的個數,$n能夠獲取腳本後跟隨的第n個參數的值。spa
實例:加法計算blog
[root@youxi1 ~]# vim a.sh #!/bin/bash if [ $# -le 0 ] ; then echo "沒有足夠的參數" exit fi sum=0 while [ $# -gt 0 ] ; do sum=$[$sum+$1] shift done echo result is $sum [root@youxi1 ~]# sh a.sh 沒有足夠的參數 [root@youxi1 ~]# sh a.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 result is 120