Kyl*_*cot 2 bash associative-array
我在关联的bash数组中访问键时遇到问题.
postgresql=(["host"]="foo" ["user"]="bar")
echo "USER: ${postgresql["user"]}" # bar
echo "HOST: ${postgresql["host"]}" # bar
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我找回bar了两把钥匙.我在这里做错了吗?
使用declare -A来定义它:
$ declare -A postgresql=([host]='foo' [user]='bar')
$ echo "USER: ${postgresql["user"]}"
USER: bar
$ echo "HOST: ${postgresql["host"]}"
HOST: foo
Run Code Online (Sandbox Code Playgroud)
注意关联数组是在Bash 4中引入的,因此如果您不使用至少该版本,它们将无法工作.更多信息在BashGuide - >关联数组中.
关联数组在版本4中引入,因此在Mac OS X的默认bash中不可用.注意没有声明,
postgresql是一个常规数组,并且索引被视为算术表达式,因此字符串"index"被视为一个如果未设置变量,则其值为0的变量.您的代码只是多次设置第0个元素. - chepner 8分钟前
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |