左移參數,即$3變爲$2,$2變爲$1。shell
示例:bash
[root@hadoop01 test-shell]# cat test-shift.sh #! /bin/bash until [ $# -eq 0 ] do echo "第一個參數爲: $1 參數個數爲: $#" shift done
運行結果:oop
[root@hadoop01 test-shell]# sh -x test-shift.sh 1 2 3 4 + '[' 4 -eq 0 ']' + echo '第一個參數爲: 1 參數個數爲: 4' 第一個參數爲: 1 參數個數爲: 4 + shift + '[' 3 -eq 0 ']' + echo '第一個參數爲: 2 參數個數爲: 3' 第一個參數爲: 2 參數個數爲: 3 + shift + '[' 2 -eq 0 ']' + echo '第一個參數爲: 3 參數個數爲: 2' 第一個參數爲: 3 參數個數爲: 2 + shift + '[' 1 -eq 0 ']' + echo '第一個參數爲: 4 參數個數爲: 1' 第一個參數爲: 4 參數個數爲: 1 + shift + '[' 0 -eq 0 ']'
當輸入參數比較多的時候能夠採用shift.另外,也能夠利用 shift N ,左移N個位置。N>0blog