#!/usr/bin/env bash
# 测试shift的用法
# 也就是说,这个命令的主要作用就是参数位置重命名的,shift和shift 1效果一样
# 把$N+1, $N+2, ... 替换为$!, $2, ,,,,这里的N其实就是shift后面跟的参数,默认是1,因为$0是文件名本身,shift 2就相当于把原来的$2+1替换为$2,以此类推
:<<helpMsg
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 $#.
helpMsg
# 执行结果如下:
:<<EOF
# sh test.sh 1 2 3 4 5 6 7 8 9
1 2 3 4 5
test.sh 2 3 4 5 6
test.sh 3 4 5 6 7
test.sh 5 6 7 8 9
EOF
:<<test2
]# sh test.sh 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5
test.sh 2 3 4 5 6
test.sh 3 4 5 6 7
test.sh 5 6 7 8 9
test.sh 9 10 11 12
test2
echo $1 $2 $3 $4 $5
shift 1
echo $0 $1 $2 $3 $4 $5
shift
echo $0 $1 $2 $3 $4 $5
shift 2
echo $0 $1 $2 $3 $4 $5
shift 4
echo $0 $1 $2 $3 $4 $5
shell中shift的用法
最新推荐文章于 2025-07-04 23:02:05 发布
