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)
上一篇 2015-05-11 12:21
下一篇 2015-05-11 14:07

相关推荐

  • chmod命令详细用法

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [–help] [–version] mode file… 说明 : …

    Linux干货 2016-10-17
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18
  • Linux基础学习总结(二)

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用基础命令:cd、pwd、mkdir、touch 查看:cat,more,less,tail,head,tac 复制:cp 移动:mv 删除:rm 创建:touch 元数据属性:stat 查看内容类型:file 二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及…

    Linux干货 2016-09-24
  • 网络基础

    1、OSI模型七层结构 应用层   为应用程序进程提供网络服务   提供用户身份验证   表示层     确保接收系统可以读出该数据     格式化数据     构建数据 &nbs…

    Linux干货 2016-09-06
  • 磁盘和文件系统管理述

        我们知道一块磁盘是可以被分区成多个分区的(partition),以Windows的观点来看,你可能会有一颗磁盘并且将他分区成为C:, D:, E:盘,那个C, D,E就是分区。Linux的设备都是以文件的型态存在,磁盘设备接口的不同也早就了磁盘文件名的不同。即IDE接口的磁盘设备文件名都是/dev/hd[a-z…

    Linux干货 2016-08-29
  • M20-1 8月3号 –权限、用户和组的管理

    一、权限管理:            ls -l                  rwxrwxrwx:               &nb…

    Linux干货 2016-08-08