linux-shift

左移参数,即$3变为$2,$2变为$1。

示例:

[root@hadoop01 test-shell]# cat test-shift.sh 
#! /bin/bash

until [ $# -eq 0 ]
do 
	echo "第一个参数为: $1 参数个数为: $#"
	shift 
done 

运行结果:

[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>0

收住自己的心 一步一个脚印 做好自己的事
原文地址:https://www.cnblogs.com/GodMode/p/5897542.html