在
Bash中,我想取消设置hashmap的条目.但我失败了.代码如下:
declare -A arr arr["a'b"]=3 echo ${!arr[@]} ## output: a'b key="a'b" unset arr[$key] ## error: -bash: unset: `arr[a'b]': not a valid identifier
我怎样才能取消此条目?
解决方法
只需使用单引号:
$declare -A arr=(["a'b"]=3 [foo]=bar) $declare -p arr declare -A arr='(["a'\''b"]="3" [foo]="bar" )' $key="a'b" $unset 'arr[$key]' $declare -p arr declare -A arr='([foo]="bar" )'
完成!