1 #########################################################################
2 # File Name: muscian.sh
3 # Author: dty
4 # mail: 576786031@qq.com
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: 576786031@qq.com
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: 576786031@qq.com
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
[root@server7 mnt]# ./dirk.sh
the lee is chinese people
the kobe is us people
the dirk is german people