我在 bash (v 4) 中编写了一个使用关联数组的脚本。
它在我使用 4.1.5(1)-release
的本地机器上工作正常.
在生产机器上,使用4.1.0(1)-release
以下声明 assoc 数组的行失败了:
declare -A uniqjars
消息:
/script.sh: line 11: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
我的印象是这是一个通用的 bash 4 功能?
在 man for bash on the production machine 它讨论了使用 -A
所以我认为它应该有效。
Associative arrays are created using
declare -A <i>name</i>
.
我可以通过打印出 echo 'bash -version
的值来确认脚本使用的是正确版本的 bash .
我做错了什么?
最佳答案
确保在您的 shell 脚本顶部作为解释器调用的 bash 版本(#!/bin/bash
或其他)也是版本 4。如果您这样做:
bash --version
它给你 v4,做一个 which bash
来检查它的位置。
关于bash - 关联数组 : error "declare: -A: invalid option",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047648/