【Linux Shell脚本编程】使用shift进行参数偏移

TangLu 未命名 2018-01-25 4519 0

对于脚本的位置变量或参数,其个数按理来说是需要确定的,或者当 Shell 不知道其个数时可以把所有参数一起赋值给变量$*。若用户要求在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等,就需要使用shift命令。shift命令用于对参数的偏移(左移),通常用于在脚本不知道需要传入几个参数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本)。不带参数的shift命令相当于shift 1,shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。。

一个简单示例:

while [ $# -ne 0] 
do
    let sum+=$1
    shift
done
echo "$sum"

评论