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的
注:实际需求,查资料解决的,不全,当着记忆,也供他人参考。