shell 数组 eval工具等小技巧

shell这种脚本语言在某些环境中感觉跟高级语言相比,对一些高级数据结构支持很不够,写起来也极不方便,但是基本上你想要的,shell都能够支持,只是不是那么方便而已。

一、shell数组

   array=( value1 value2 value3 ... )

   array="one two three" 

   取值:${array[1]}

   删除:unset array[1]; unset array

   数组长度:${#array}

  详细参照:http://bbs.chinaunix.net/thread-1779167-1-1.html


二、一个需求:   index=5 ${index}结果为5,如果要想取到输入参数的第五个值,应该是$5,那么${${index}}对吗?这个是不对的。请问这个怎么取

   1、a=5
         echo $a           #返回5
         eval b="$"$a""
         echo $b          #返回输入参数第五个的值

   2、${!index}     #返回输入参数第五个的值


三、判断一个变量是否在某一个数组,例如第五个参数是否在数组中

   1、echo "${array[*]}" | grep -q "${!index}"   #如果第五个参数是普通字符,那么没有问题,检查$?

   2、echo "${array[*]}" | grep -q \\"${!index}"  #如果第五个参数是“-r"类似的,以“-"加一个字符,那么就必须转义, 然后检查$?

   3、echo "${array[*]}" | awk ‘{判断机制}’   #没有写出来,但是这个是一定ok的


注:实际需求,查资料解决的,不全,当着记忆,也供他人参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值