簡體   English   中英

Bash 關聯字典不起作用(聲明:-A:無效選項)

[英]Bash associative dictionary not working (declare: -A: invalid option)

我遵循了每個 bash 字典示例,但沒有一個可以工作。 我現在有了

_配置:

#!/bin/bash


instance_map["dev"]=project-dev
instance_map+=( ["stage"]="project-staging" )

declare -A animals=( ["moo"]="cow" ["woof"]="dog")

測試.sh:

#!/bin/bash

source _CONFIG


echo ${instance_map["dev"]}
echo ${instance_map["stage"]}


echo "${animals[moo]}"
for sound in "${!animals[@]}"; do echo "$sound - ${animals[$sound]}"; done

出於某種原因,在遵循每個示例之后,我得到

$ ./test.sh dev
_CONFIG: line 9: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
project-devproject-staging
project-devproject-staging
dog
0 - dog

$ bash --version
GNU bash, version 4.4.0(1)-release (x86_64-apple-darwin15.6.0)

如何在 Bash 中將用戶輸入“dev”映射到“myprojectname”?

問題已通過升級 bash 解決。 $BASH_VERSION打印您的真實版本

brew unlink bash
brew update && brew install bash

測試.sh:

declare -A instance_map=( ["dev"]="project-dev" ["stage"]="project-staging" ["prod"]="project" )

echo ${instance_map["dev"]}
echo ${instance_map["stage"]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM