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