按照题主的意思,可以使用shift命令。
什么是shift?举例:假如你有三个参数 $1,$2,$3。在脚本中使用一次shift,将使$2的值成为$1的新值,$3的值成为$2的新值;使用shift 2,将使$3的值成为$1的新值。所以(伪代码):
i=1
para=$1 //获得第1个参数值
...
i=i+1
shift
para=$1 //获得第$i个参数值
...
shell脚本传参,可通过$0(脚本名),$1(第1参),$2(第2参)...$#(参数个数)方式获取
num=$#
for i in `seq $num` # 循环1到$num数字
do
echo $i # 打印参数
done
j=1
while [ $j -lt $i ]
do
shift
done
echo $1
while执行shift i-1次,最后$1就是脚本的第i个值
可以把参数全给一个变量
然后awk去取对应的值
[root@localhost ~]# cat 1
#!/bin/bash
a=$*
echo $a|awk '{print $2}'
[root@localhost ~]# sh 1 a 11 bc 33
11
#/bin/bash
for i in $@
do
echo $i
done
[hxb@Arch test]$ ./a.sh a bb ccc
a
bb
ccc