linux shell里 怎么存入数据对?就像 Map 或者 dictionary 一样,一个键对应一个值.

linux shell里 怎么存入数据对?就像 Map 或者 dictionary 一样,一个键对应一个值.,第1张

如果是bash,可以用数组,比如下面的循环,对每一个关键字 (赵钱孙里)处理一次

declare -A data

for key in zhao qian sun li zhao sundo

if [ -z "${data[$key]}" ]then

data[$key]=1

else

let data[$key]++

fi

done

for key in ${!data[@]}do

echo "$key occured ${data[$key]} times"

done

首先要告诉大家,Bash Shell 只支持一维数组,而且初始化的时候不用定义数组的大小。

(一) 定义数组,方法1:使用小括号赋值

            array1=(A B C D)或者array1=("A" "B" "C" "D")

            定义数组,方法2:使用数组下表挨个赋值

            array2[0]=a

            array2[1]=b

            可能会有朋友会问问什么不用declare声明也能用,在这跟大家拓展下,所有变量不用显式定义都能用作数组,所以用不用declare声明都可以

(二) 读取数组

            ${array[下标值]},例如:${array1[2]}

            若要获取数组中全部的值,使用${array[*]}或者${array[@]}

(三) 获取数组长度   ${#array1[*]},关键在加了个#

(四) 删除数组内容元素  unset ${array1[下标]} ,删除整个数组   unset array1


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11613285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存