在 MacOS 上的 bash 脚本中使用关联数组

Using associative arrays in a bash script on MacOS

我正在使用 MacOS (Mojave 10.14.6) 并尝试编写 bash 脚本。我已经安装了最新版本的 bash - 5.0.16(1)-release (x86_64-apple-darwin18.7.0) - 使用 brew install.

我无权更新 /etc/shells 文件,所以我尝试使用

#!/usr/bin/env bash
bash --version

在我的脚本代码中

还有 returns 上面的版本 - 5.0.16(1)-release (x86_64-apple-darwin18.7.0) - 但是当,在同样的脚本,我试试

declare -A svcCount

我收到以下错误

declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

这似乎表明,脚本仍在使用 Mac.

中的默认 bash 版本 3.x

我应该如何更改脚本才能使用上面的关联数组定义构造?

谢谢

如果您想使用 homebrew,请另存为 theScript bash:

#!/usr/local/bin/bash
echo $BASH_VERSION
declare -A svcCount

然后使其可执行:

chmod +x theScript

和运行与:

./theScript