似乎没有办法直接做到这一点。作为替代,您可以将带有键(索引)的只读关联数组放入另一个保留值的非只读数组中。
这样,就无法将新键添加到前数组,即使可以将新键添加到后数组,也无法通过前数组键访问它们。
像这样的东西:
declare -r -A front=([a]=0 [b]=1 [c]=2)
declare -a back=(alpha beta gamma)
# Read
echo "${back[front[a]]}"
# Write
back[front[a]]="ALPHA"
# Iterate
for k in "${!front[@]}"; do echo "$k = ${back[front[$k]]}"; done
Run Code Online (Sandbox Code Playgroud)
然后您可以将其包装到函数接口中。
归档时间: |
|
查看次数: |
2117 次 |
最近记录: |