Bash - 如何从任意索引开始为数组分配列表

时间:2016-12-03 18:20:49

标签: arrays bash

我有一个以零(arr)开头的数组arr[0],转到32(arr[32]),然后应该有一个中断直到127(arr[127])有一个列表,直到160(arr[160])。如何在不写出每个单独的作业的情况下将第二个列表分配到数组中?

我想避免的事情:

a=(
  'a0'
  ...
  'a32'
)
arr[127]='a127'
...
arr[160]='a160'

1 个答案:

答案 0 :(得分:3)

像这样添加数组的第二部分:

arr+=(
  [127]='a127'
  'a128'
  ...
  'a160'
)
  • [127]=指定数组的第127个元素。下一个字符串被分配给128等
  • +=(添加到数组,而不是覆盖。如果您想启动某个索引处的数组,可以将+=(切换为=(

或者你可以把它们放在一起:

arr=(
  'a0'
  ...
  'a32'
  [127]='a127'
  ...
  'a160'
)