Shift 参数左移指令
shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本)
在扫描处理脚本程序的参数时,经常要用到的shift命令,如果你的脚本需要10个或10个以上的参数,你就需要用shift命令来访问第10个及其后面的参数
作用:每执行一次,参数序列顺次左移一个位置,$#的值减1,用于分别处理每个参数,移出去的参数,不再可用
例子:加法计算器
[root@xuegod63 ~]# cat shift.sh
#!/bin/bash
if [ $# -le 0 ];then
echo “没有足够的参数”
exit
fi
sum=0
while [ $# -gt 0 ] ; do
#sum=$(expr $sum + $1)
sum=$[$sum+$1]
shift
# shift 2 表示一次移动2个参数
done
echo result is $sum
测试:
[root@xuegod63 ~]# bash a shift.sh 11 2 3 4
result is 20