有没有办法在Bash脚本中创build键值对?
我正在尝试使用Bash脚本创build一个键值对的字典。 我正在尝试使用这个逻辑:
declare -d dictionary defaults write "$dictionary" key -string "$value"   … $dictionary是一个variables,但这不起作用。 
有没有办法在Bash脚本中创build键值对?
在bash版本4中引入了关联数组。
 declare -A arr arr["key1"]=val1 arr+=( ["key2"]=val2 ["key3"]=val3 ) 
arr数组现在包含三个键值对。 Bash是相当有限的,你可以用它们做什么,没有sorting或popup等。
 for key in ${!arr[@]}; do echo ${key} ${arr[${key}]} done 
将遍历所有关键值并将其回显出来。
如果你可以使用一个简单的分隔符,一个非常简单的指针是这样的:
 for i in a,b c_s,d ; do KEY=${i%,*}; VAL=${i#*,}; echo $KEY" XX "$VAL; done 
 因此i充满了像"a,b"和"c_s,d"字符序列。 每个空格分隔。 之后,我们使用参数replace来提取逗号前面的部分和后面的部分。 
 对于持久性键/值存储,您可以使用kv-bash ,这是https://github.com/damphat/kv-bash上的键/值数据库的纯bash实现; 
用法
 git clone https://github.com/damphat/kv-bash source kv-bash/kv-bash 
尝试创build一些永久variables
 kvset myName xyz kvset myEmail xyz@example.com #read the varible kvget myEmail #you can also use in another script with $(kvget keyname) echo $(kvget myEmail)