Last Updated: 2023-07-07 08:12:14 Friday
-- TOC --
位置参数可以用shift命令进行左移,并相应减少参数数量,即$#
的值。
比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动
。不带参数的shift命令相当于shift 1。
$ set 1 2 3 4 5 a b c
$ echo $# $1
8 1
$ shift
$ echo $# $1; shift
7 2
$ echo $# $1; shift
6 3
$ echo $# $1; shift
5 4
$ echo $# $1; shift
4 5
$ echo $# $1; shift
3 a
$ echo $# $1; shift
2 b
$ echo $# $1; shift
1 c
$ echo $# $1; shift
0
一次移动多个位置:
$ set 1 2 3 4 5 a b c
$ shift 5
$ echo $# $1 $2 $3
3 a b c
shift 0
,什么都不做,shift返回成功。
当shift的数量大于参数个数时,shift返回失败,用$?
获取。
本文链接:https://cs.pynote.net/sf/linux/shell/202201051/
-- EOF --
-- MORE --