将学习变成乐趣,一直在路上
每天1990

导航

 
有时shell的入参个数不定,想要获得第2位后的参数,作为新的入参调用其他脚本
 
通常这时候想到的方法是用遍历,例如下面的方法:
for (( i=2;i<=$#;i++))
do
       echo $i
done
 
更简便的方法:使用shift去移动参数,shift (n),默认n为1,移动的位数
 
shift会将n位前的入参舍弃掉,只会保留n+1以及他后面的入参
 
例如:shift 2,会舍弃第一位第二位入参,只保留第3位及以后的入参
 
执行 test.sh 1 2 3 4 5 6 7 8 9,test.sh的脚本以及执行结果如下
./test 1 2 3 4 5 6 7 8 9
++ echo 1
1
++ shift
++ echo 2
2
++ echo 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
++ shift 2
++ echo 4 5 6 7 8 9
posted on 2017-04-24 21:29  每天1990  阅读(756)  评论(0编辑  收藏  举报