Shell中对位置参数循环

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37886429/article/details/89280852
一、while + shift
#循环获取位置参数
while (( $# > 0 ))
do
    echo $1
    shift
done
二、for 循环
#"$@" --->代表就是参数列表
for i in "$@"
do
    echo $i
done
三、间接引用
i=1;
while (( i <= $# ))
do
   # 间接引用! 直接 $1 这样处理会出问题,不加 ! ,输出的就是数字!??因为外面的参数是 i 的值,而我们需要使用i,需要 ! 间接引用!
   echo ${!i}; 
   let i++;
   # (( i++ ))  (( )) 的运算速度快一些!?
done
四、间接变量引用
#!/bin/bash

i=1;
while (( i <= $# ))
do
  j=i
  eval j=\$$j       # 直接对变量i间接引用的话,不好自加操作了!
  eval j=\$$j
  echo $j;
  let i++;
done

猜你喜欢

转载自blog.csdn.net/m0_37886429/article/details/89280852
今日推荐