[英]How to make an array in shell?
现在我用一种丑陋的方式在shell中创建数组,例如
ARG_ARRAY=(num1 num2 num3 num4 num5 num6 num7 num8 num9 num10)
这会更优雅吗? 像C方式,例如
ARG_ARRAY=num[10]
$ ARG_ARRAY=(num{1..10})
$ echo ${ARG_ARRAY[@]}
num1 num2 num3 num4 num5 num6 num7 num8 num9 num10
如果要显式声明ARG_ARRAY
是一个数组,请使用(bash):
declare -a ARG_ARRAY
然后您可以使用以下值设置其值:
ARG_ARRAY[$index]=whatever
您无法为索引数组指定大小,如果您尝试访问它们,则尚未设置的索引将仅为空。
如果要声明数组常量 ,可以在设置值后轻松完成:
$ ARG_ARRAY=(num1 num2 num3 num4 num5 num6 num7 num8 num9 num10)
$ declare -r ARG_ARRAY
这显然保护了整个阵列:
$ ARG_ARRAY=(new)
bash: ARG_ARRAY: readonly variable
它还可以保护单个元素不被更改:
$ ARG_ARRAY[0]=new
bash: ARG_ARRAY: readonly variable
...并插入:
$ ARG_ARRAY[20]=new
bash: ARG_ARRAY: readonly variable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.