Bash Shell之数组简介

Bash Shell之数组简介

 

一、数组基本概念

  数组是内存中的存储空间,连续的多个存储单元;bash中只支持一维数组,支持稀疏格式 ,参数个数没有限制。

二、数组基本语法格式

  1、声明一个数组

         declare -a array  其实不用声明,按数组方式直接赋值给变量即可

  2、表示方式:数组名+索引

       索引的表示方式:数字索引:a[index]。例如:a[0], a[1]
         bash 4.0
以后支持关联数组.declare -A指明是关联数组例如:a[hello], a[hi]
       
在引用是必须使用{}。例如${a[0]}

  3、数组赋值:

         一次对多个元素赋值。例如:a=(red blue yellow green)

                 按索引进行赋值。例如:a=([0]=green [3]=red [2]=blue [6]=yellow)

                 命令替换赋值。例如:logs=(/var/log/*.log)

                 用户输入赋值。例如:read -a c,赋值后用echo ${c[0]}查看

  4、数组访问

       echo ${#a[i]}获取这个数组中第i个小标的元素值

                echo ${#a[*]}echo ${#a[@]} :获取这个数组中数组元素的总个数。

  5、从数组中挑选元素

         ${ARRAY[@]}: 取出所有元素。例如:echo ${a[@]}           
                ${ARRAY[@]:offset:number}
。例如:echo ${a[@]:1:1}
                                    offset:
偏移的元素个数
                                    number: 取出的元素的个数 
                ${ARRAY[@]:offset}
:取出偏移量后的所有元素 。例如:echo ${a[@]:1}

6、向数组复制和追加元素:

                把数组中的个数当做该数组的下标。
                                  declare -a mylogs
                                  tmp=${#mylogs[@]}
                                  mylogs[$tmp]="dasd"
               
删除数组用的元素:unset a[i]   删除所有原始unset a[*] unset a[@]

         数组复制:b[$index]=${a[$i]}

三、实例解析:

         1、写一个脚本,生成10个随机数,保存至数组中;而后显示数组下标为偶数的元素(或者将偶数元素赋值给一个新的数组并显示);

           1.png

         2.png

         2 生成10个随机数,升序排序

         3.png

         4.png

         注意:在Bash Shell数组互换时要注意其格式;赋值给tempa[$i]的方式不一样;

         3、打印九九乘法表

         5.png

         6.png

         

原创文章,作者:wxdz_2004(古雨秋),如若转载,请注明出处:http://www.178linux.com/4190

(0)
wxdz_2004(古雨秋)wxdz_2004(古雨秋)
上一篇 2015-05-11
下一篇 2015-05-11

相关推荐

  • 前两周linux基础知识总结

    linux用户权限管理 软链接与硬链接 输入输出重定向 文本处理三剑客vim sed awk 包管理rpm yum 源码包编译安装

    Linux干货 2018-03-17
  • shell脚本总结

    shell进阶:列表生成方式:列表生成方式:(1) 直接给出列表 以空白为间隔(2) 整数列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 变量引用;$@, $while read line(用法)(用于遍历文件,进行处理…

    Linux干货 2017-07-10
  • N26—第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d ' ' -f 1 |sort -u l_cong root (unknown)   2、取出最后登录到当前系统的用户的相关信息。 [l_cong@localhost ~]$…

    Linux干货 2017-02-15
  • 马哥教育网络班20期+第一周课程练习

    一、计算机的组成及其功能。 计算机是由几个单元所组成,输入单元,输出单元,运算器,控制器,存储器,5大单元组成  1、运算器 又称运算器又称算术逻辑单元,它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。 2、控制器 负责从存储器中取出指令,并对指令进行译码;根据指令的要求,按时间的先后顺序…

    Linux干货 2016-06-23
  • iptables, sudo N28

    2018/2/25 17:14 第十二周

    2018-02-25