shell脚本-关系数组

  1 #########################################################################   
  2 # File Name: muscian.sh
  3 # Author: dty
  4 # mail: [email protected]
  5 # Created Time: Wed 05 Aug 2015 04:41:14 PM CST
  6 #########################################################################
  7 #!/bin/bash
  8 declare -A beatles
  9 beatles=( [singer]=john [bassist]=Paul [drummer]=ringo [guitarist]=george)
 10 for muscian in  singer bassist drummer guitarist
 11 do
 12     echo "The ${muscian} is ${beatles[$muscian]}"//注意调用,调用的时候必须加上$符号在[]里。。。。
 13 done
~
  1 #########################################################################   
  2 # File Name: instruments.sh
  3 # Author: dty
  4 # mail: [email protected]
  5 # Created Time: Wed 05 Aug 2015 04:50:45 PM CST
  6 #########################################################################
  7 #!/bin/bash
  8 declare -A beatles
  9 beatles=( [singer]=john [bassist]=paul [drummer]=ringo [guitarist]=george )
 10 for instrument in ${!beatles[@]} //直接反向调用相当于依次打印了 singer bassist drummer guitarist
 11 do
 12     echo "the ${instrument} is ${beatles[$instrument]}"
 13 done
~

以上两个程序都是关系数组的表达。

第一个引用,第二个反向引用${!array[@]},关系数组将值与索引关系到一起使用的时候必须先

 declare -A

来声明

来练练手弄个简单的,lee is chinsese people ,kobe is us people .dirk is german people

  1 #########################################################################    
  2 # File Name: dirk.sh 
    3 # Author: dty  
    4 # mail: [email protected]  
    5 # Created Time: Wed 05 Aug 2015 05:02:53 PM CST  
    6 #########################################################################  
    7 #!/bin/bash  
    8 declare -A people  
    9 people=( [chinese]=lee [us]=kobe [german]=dirk ) 
    10 for ship in chinese us german 
    11 do 
    12     echo the ${people[$ship]} is  $ship people 
    13 done
    [[email protected] mnt]# ./dirk.sh
     the lee is chinese people
     the kobe is us people
     the dirk is german people
时间: 2024-10-09 07:36:34

shell脚本-关系数组的相关文章

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开

shell 脚本-关联数组

shell 的关联数组 Shell Associative Array   bashi没有原生的对于类似hash table的支持,不像perl或python.下标数组元素是通过数组下标(数组下标可以是算术表达式,其结果必须是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时会存在限制.shell 提供了另外一种数组,其可以使用任意的字符串作为下标(不必是整数)来访问数组元素.这种数组叫做关联数组(associative array).关联数组的下标和值称为键值对,它们是一一对应的

shell 脚本之数组 和 yum 【下】

数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合. 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式 ,即为关联索引,bash4.0版本之后开始支持. bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME: 关联数组 数组赋值 数组元素的赋值: (1) 一次只赋值一个元素: ARRAY_NAME[INDEX]=VA

18 shell脚本--009数组与字符串

回顾: 函数:写一个代码块,用来重复调用的: 1.函数的写法格式 2.参数,在函数名后面直接加,即可:如果在外面 abc(){ 函数体 [email protected] } abc 1 2 3 4 5 :wq a.sh 1 2 3 4 5 6 3.变量 local本地变量 local i=1 如果在函数体外同样也定义了一个相同的变量 扩展:source / bash / chmod+x 全路径 [父子进程的问题] 4.return 结束函数体的执行 和exit 的却别 return 和 exi

shell脚本之数组

数组:    一堆变量的集合. 声明:        declare -a ARRAYNNAME        其中每个变量为ARRAYNAME[INDEX]        INDEX从0开始. 赋值:        ARRAYNAME[INDEX] = VALUE        ARRAYNAME = (VALUE1 VALUE2 ...)        ARRAYNAME = ( [INDEX1]=VALUE1 [INDEX2]=VALUE2 ...) 特殊引用方法:        ${#A

Shell脚本(五)数组

平时写脚本还没有用到过数组,暂时先记录下用法. #!/bin/bash array1=(1 2 3 4 5) array1_length=${#array1[@]} echo "array1 length: ${array1_length}" for item in ${array1[@]} do echo "current item of array1: ${item}" done array2[0]="test0" array2[1]=&qu

shell脚本编程数组

数组: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAME:普通数组(声明可有可无) declare -A ARRAY_NAME: 关联数组(必须先声明才可用) 注意:两者不可相互转换 数组赋值 单个赋值:weekda

shell脚本练习--数组

问题描述:某个员工的linux系统有大量重复的软件(版本不同),导致使用yum安装软件时报错.现在需要将重复的软件找出来,将低版本的软件删掉.执行rpm -qa | sort 显示如下: [[email protected] ~]# rpm -qa | sort a52dec-0.7.4-27.el7.x86_64 aalib-libs-1.4.0-0.22.rc5.el7.x86_64 abattis-cantarell-fonts-0.0.25-1.el7.noarch abrt-2.1.1

shell脚本基础--数组

q1.数组 我们知道,变量就是内存里的存储空间,每个变量只可以存储一个数据,进行一次性的赋值操作,那么遇到一些需要连续存储并读取的任务时,如果还是依靠变量进行多次存储,既不会保证内存空间的连续性,也大大降低了CPU的效率,这时就需要数组这一类型的变量出马了! 数组变量: 数组简单来说就是存放一个或多个元素的连续的内存空间,相当于多个变量的集合: 数组的索引有以下方式: 1.数字索引.称为索引数组 Index ARRAY: 0,1,2,3.... 2.名称(字符串): 称为关联数组 Related