Bash 数组使用系统位置限制?

Bash 数组使用系统位置限制?

这是我的数组声明

arraySYSTEM=( "$@" )

它最多可以有 10 个“系统职位(?)”成员。

我用它来构建传递给whiptail函数的文本参数。然后我使用鞭尾清单(菜单)选择参数。在清单中,我可以使用语法拥有无限数量的参数${number}- 例如${16}.

如何修改我的arraySYSTEM声明以在数组中包含 10 个以上的成员?

答案1

数组中可以有任意数量的条目。例如:

$ set -- {a..z}
$ echo "${26}"
z

(注意$26${2}6bash和大多数其他类似 Bourne 的 shell 中)

对于命名数组也是如此:

$ foo=({a..z})
$ echo "${foo[25]}"
z

(索引差异是因为$0比较特殊,通常包含当前脚本的名称。)

相关内容