在 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
我正在使用 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