Zsh
在 zsh 中使用關聯數組時找不到匹配項
我
no matches found
在 zsh 中使用 map 時遇到:#!/bin/zsh declare -A map=(["8761"]="Eureka服务" ["11001"]="用户微服务")
為什麼會發生這種情況,我該如何解決?這是錯誤:
~/source/dolphin/dolphin-scripts/bash/tool on master! ⌚ 20:57:52 $ ./batch-terminal-process.sh ./batch-terminal-process.sh:14: no matches found: [8761]=Eureka服务
zsh
不支持and的typeset -A array([key]=value ...)
語法。ksh``bash
取而代之的是,您應該通過交替鍵和值來簡單地初始化關聯數組:
% declare -A map=(8761 "Eureka服务" 11001 "用户微服务") % echo ${map[8761]} Eureka服务
正如比利叔叔所說,zsh 不理解這種語法。
但是,在 zsh >= 5.5 中添加了支持(請參閱changelog),您的程式碼段現在可以工作了。