linux变量循环赋值,linux中的for、while循环输出中赋值变量及shell中循环获取脚本参数...

今晚在《高级bash+脚本编程指南》中看到使用for和while循环语句赋值变量的脚本,觉得很有创意。。

从循环的输出中产生一个变量

################################Start

Script#######################################

1 #!/bin/bash

2 # csubloop.sh: 从循环的输出中产生一个变量.

3

4 variable1=`for i in 1 2 3 4 5

5 do

6 echo -n "$i" # 对于这里的命令替换来说

7 done` #+ 这个‘echo‘命令是非常关键的.

8

9 echo "variable1 = $variable1" # variable1 = 12345

10

11

12 i=0

13 variable2=`while [ "$i" -lt 10 ]

14 do

15 echo -n "$i" # 再来一个, ‘echo‘是必须的.

16 let "i += 1" # 递增.

17 done`

18

19 echo "variable2 = $variable2" # variable2 = 0123456789

想起之前想要在shell脚本中去循环获取脚本参数$1、$2、$3、$4。。。

方法1:使用shift,每运行一次shift命令,参数就会往前丢掉一个,即1次后$2变成了$1,2次后$3变成$1,即可以:for ((i=0;i<=$#;i++))

do

a=$1

shift

echo $a

done

方法2:[email protected],然后再循环读取,貌似比方法1好点:for i in $@

do

echo $i

done

方法3:使用eval,两次变量替换:for ((i=1;i<=$#;i++))

do

eval b=\$$i

echo $b

done

原文:http://qujunorz.blog.51cto.com/6378776/1386340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值