shift语句的使用

[root@vm1 scripts]# help shift
shift: shift [n]
    Shift positional parameters.

    Rename the positional parameters $N+1,$N+2 ... to $1,$2 ...  If N is
    not given, it is assumed to be 1.

    Exit Status:
    Returns success unless N is negative or greater than $#.

说明:

1)在程序中每使用一次shift语句,都会使所有的位置参数依次向左移动默认的一个位置。

2)如果N没有提供的话,就是默认向左移动一个位置。如果给了N,shift N语句,就是向左移动N个位置。

例如:shift 5:就是向左移动5个位置。

看一个小例子:

[root@vm1 scripts]# cat n5.sh
echo $1 $2
if [ $# -eq 2 ];then
    shift
    echo $1
fi


[root@vm1 scripts]# sh n5.sh arg1 arg2
arg1 arg2
arg2

说明:shift语句执行之后,左移一位,也就是$2变成了$1, $1消失。然后再echo $1。但是输出的是传参时的$2的值。

shift会给编程带来一些方便。

再看一个例子:

shift语句的使用_第1张图片

 

如果看到好的例子,可以补充到这个博客中。

你可能感兴趣的:(Shell,linux,运维)