【问题标题】:Bash "declare -A" does not work on macOSBash "declare -A" 在 macOS 上不起作用
【发布时间】:2015-01-16 02:33:07
【问题描述】:

我的猜测是 Bash 在 macOS 上没有更新。在谷歌搜索更新 Bash macOS 时,我不断收到错误修复补丁。无论如何,我需要在 macOS Bash 中使用关联数组,其中命令:

declare -A

产生错误:

-bash:声明:-A:无效选项
声明:用法:声明 [-afFirtx] [-p] [name[=value] ...]

我有优胜美地。

【问题讨论】:

  • 您可以使用home brew 在 OSX 上获取 BASH 4+ 版本
  • 或者您可以使用 zsh,它首先具有关联数组(并且不是 GPL,因此 Apple 包含了它的更新版本。)
  • 我今天遇到了这个问题,通过 Homebrew 安装了 BASH 4.4。看到 BASH 4 比 BASH 3 快得多,我印象深刻。
  • 顺便说一句,ksh93 是另一个支持关联数组的 shell(比 zsh 的支持早了 6 年)并随 MacOS 一起提供。

标签: linux bash macos associative-array


【解决方案1】:

declare -A(关联数组)是 bash 4+ 功能。

OS X bash 可能是 3.X。

我不知道 OS X 有针对 bash 4+ 的官方更新。

酿造/等。不过可能。

【讨论】:

  • 是的,我知道是这样,但我很惊讶没有人需要在 mac os x 上使用 bash 4。
  • @Mr.Student,并不是没有人需要,而是 Apple 拒绝发布 GPLv3 软件,因此出于许可原因,他们坚持使用旧版本的 bash。
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多