Map命令怎么在Shell中使用?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
我們擁有十余年網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、手機(jī)網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。Map定義:
在使用map時(shí),需要先聲明,否則結(jié)果可能與預(yù)期不同,array可以不聲明
方式1:
declare -A myMap myMap["my03"]="03"
方式2:
declare -A myMap=(["my01"]="01" ["my02"]="02") myMap["my03"]="03" myMap["my04"]="04"
Map初始化:
與array類似,可以使用括號(hào)直接初始化,也可以通過添加的方式來初始化數(shù)據(jù),與array不同的是,括號(hào)直接初始化時(shí)使用的為一個(gè)鍵值對(duì),添加元素時(shí),下標(biāo)可以不是整數(shù)
myMap["my03"]="03" myMap["my04"]="04"
輸出Map所有的key、value、長度:
# 1)輸出所有的key #若未使用declare聲明map,則此處將輸出0,與預(yù)期輸出不符,此處輸出語句格式比arry多了一個(gè)! echo ${!myMap[@]} #2)輸出所有value #與array輸出格式相同 echo ${myMap[@]} #3)輸出map長度 #與array輸出格式相同 echo ${#myMap[@]}
Map遍歷:
#1)遍歷,根據(jù)key找到對(duì)應(yīng)的value for key in ${!myMap[*]};do echo $key echo ${myMap[$key]} done #2)遍歷所有的key for key in ${!myMap[@]};do echo $key echo ${myMap[$key]} done #3)遍歷所有的value for val in ${myMap[@]};do echo $val done
Map測試:
[root@cdh-143 shell-test]# more map-test.sh #!/bin/sh echo "一、定義Map:declare -A myMap=([\"myMap00\"]=\"00\" [\"myMap01\"]=\"01\")" declare -A myMap=(["my00"]="00" ["my01"]="01") myMap["my02"]="02" myMap["my03"]="03" echo "二、輸出所有的key:" echo ${!myMap[@]} echo "三、輸出所有value:" echo ${myMap[@]} echo "四、輸出map的長度:" echo ${#myMap[@]} echo "五、遍歷,根據(jù)key找到對(duì)應(yīng)的value:" for key in ${!myMap[*]};do echo "key:"$key echo "value:"${myMap[$key]} done echo "六、遍歷所有的key:" for key in ${!myMap[@]};do echo "key:"$key echo "value:"${myMap[$key]} done echo "七、遍歷所有value:" for val in ${myMap[@]};do echo "value:"$val done
輸出:
[root@cdh-143 shell-test]# ./map-test.sh
一、定義Map:declare -A myMap=(["myMap00"]="00" ["myMap01"]="01")
二、輸出所有的key:
my02 my03 my00 my01
三、輸出所有value:
02 03 00 01
四、輸出map的長度:
4
五、遍歷,根據(jù)key找到對(duì)應(yīng)的value:
key:my02
value:02
key:my03
value:03
key:my00
value:00
key:my01
value:01
六、遍歷所有的key:
key:my02
value:02
key:my03
value:03
key:my00
value:00
key:my01
value:01
七、遍歷所有value:
value:02
value:03
value:00
value:01
[root@cdh-143 shell-test]#
看完上述內(nèi)容,你們掌握Map命令怎么在Shell中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!