我想使用read
将数据放入关联数组的特定元素中,所以我写了以下内容:
typeset -Ag aa
aa[key]='initial value'
...
read aa[key]
会产生错误:no matches found: aa[key]
所以我写了下面的内容,它起作用了:
typeset -Ag aa
aa[key]='initial value'
...
local line
read line
aa[key]=line
有没有办法跳过临时变量line
?
答案 0 :(得分:1)
似乎zsh尝试以某种方式对aa[key]
令牌进行通配。
因此,可以使用noglob
暂时关闭globbing或引用该标记。
echo val0 | noglob read aa[key]; echo $aa[key] ;# => val0
echo val1 | read 'aa[key]'; echo $aa[key] ;# => val1
noglob
不会对任何单词执行文件名生成(通配)。