为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点哈!如何用shell 实现类似python里的dict.get()的功能跪求!

求大佬指点哈!如何用shell 实现类似python里的dict.get()的功能跪求!

侃侃尔雅 2019-09-19 11:37:35
接触shell不多,想问下shell里面是否有类似python的字典的get的功能,就是key,value对应的方式。其实需要用这种方式,主要是python的dict.get有个找不到k返回默认值的方式,例如:v=d.get('k','default')如果找到‘k’就返回对应的value,找不到就返回'default'。其实就是想问shell里有没有类似的功能。因为只学过python,就只能这样类比了。
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

Yujiaao已经讲了bash中关联数组的用法。bash的关联数组不能预设默认值,按key娶不到的值都是空字符""你可以自己编写这样的代码块
dict_get(){
dict=$1
key=$2
default=$3
val=${arr[$key]}
if[[$val==""]]
then
echo$default
else
echo$val
fi
}
#测试
declare-Aarr
arr["key1"]=val1
arr+=(["key2"]=val2["key3"]=val3)
v1=$(dict_getarrkey10)
v2=$(dict_getarrkey40)
echo$v1
echo$v2
                            
查看完整回答
反对 回复 2019-09-19
  • 2 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信