
基于Bash脚本中的关联数组,我需要遍历它来获取键和值。
#!/bin/bash
declare -A array
array[foo]=bar
array[bar]=foo
实际上,我不明白如何在使用for-in循环时获得密钥。
使用感叹号访问键:$ {!array [@]}, values 可以使用` $ {阵列[@]}
你可以像这样遍历键/值对:
for i in "${!array[@]}"
do
echo "key : $i"
echo "value: ${array[$i]}"
done
注意在语句的中使用引号(加上使用 @ 而不是 * `)。如果任何键包含空格,这是必要的。
在另一个答案中的混淆来自于这样一个事实,即你的问题包括“foo”和“bar”两个键 和 的值。
您可以使用$ {!array [@]}:
访问密钥
bash-4.0$ echo "${!array[@]}"
foo bar
然后,遍历键/值对是很容易的:
for i in "${!array[@]}"
do
echo "key :" $i
echo "value:" ${array[$i]}
done
未经作者同意,本文严禁转载,违者必究!




近期评论