码迷,mamicode.com
首页 > 编程语言 > 详细

bash 数组

时间:2016-04-05 09:34:50      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:bash数组   数组祥解   

bash编程:数组初步
    数组是一种数据结构,由相关的数据项组成。每个数据据项,称为数组的元素,且可以使用索引的方式取得各无素的值。

    bash的数组,其元素的个数没有限制,数组的索引由0开始,但不一定要连续,索引也可以用算术表达式表示。

 

 数组:数据结构,
        数据序列:连续的多个数据,可以使用索引获取相关元素
        在内存中取一大段的内存空间,连续存放数组

声明数组:declare -a arrayName

初始化或赋值:各元素间使用空白字符分隔
            第一种:arrayName=(‘a‘ ‘b‘ ‘c‘)
            第二种:arrayName=([index]=‘a‘ [index]=‘b‘)
            第三种:arrayName[0]=‘a‘; arrayName[1]=‘b‘

    获取元素

            获取数据组中所有元素的值:${number[*]}

            获取数组中有效元素的个数:${#arrayName[@]}, ${#arrayName[*]}
            获取某一元素中字符串的长度:${#arryName[index]} 注:index=0,1,2...
            默认是引用第一个变量值的

示列:

1、定义一个数组

A[0]=1
A[1]=3
A[2]=5

    建立一个数组A,共有3个元素,第一个元素为A[0]其值为1,第二个元素为A[1]其值为3,第三个元素为A[2]其值为5,其中的中括号内的0、1、2为元素的索引。


2、建义数组,并一次性给多个数组赋值

# B=(32 43 56 66)
# echo ${B[0]}
32

定义了B数组,共4个元素,默认从0开始,依次增加,如果想指定可以指定相应的索引。

# C=([1]=35 [7]=56 [9]=66)
# echo ${C[7]}
56



3、获取一个数组的值

# echo ${A[1]}
# echo ${A[1+1]}  \\ 索引可以做计算


4、取出所有的元素

[root@zibbix ~]# echo ${C[@]}   
35 56 66
或
[root@zibbix ~]# echo ${C[*]}
35 56 66

注意:*和@都可以取出数组元素,但@得到的是以空白隔开的数字,而*得到的是一整个字符串。


5、取出元素的个数

# echo ${#C[@]}
3
或
# echo ${#C[*]}
3


6、取出元素的的长度

# echo ${#C[1]}
2


 
bash伪随机数生成器:$RANDOM

练习:从所有同学们中随机任意位;
echo $[$RANDOM%40]这样的结果将是40以下的数


练习:通过脚本生成N个随机数(N>5),对这些随机数按从小到大排序;

    冒泡排序;

练习:打印九九乘法表

本文出自 “菜鸟日志” 博客,请务必保留此出处http://zkxfoo.blog.51cto.com/1605971/1760309

bash 数组

标签:bash数组   数组祥解   

原文地址:http://zkxfoo.blog.51cto.com/1605971/1760309

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!