bash 数组

创建

arr=(a b "c d")  # 创建包含 3 个元素的数组

注意,= 两边不能有空格,不同值中间使用空格分割,而不是逗号 ','。

读取

数组下标从 0 开始,用 echo ${#array[@]} 或者 echo ${#array[*]} 获取长度。

读单个元素

${array[0]}         # 访问下标为 0 的元素,如果超出范围返回空
${array}            # 同 ${array[0]}

读一个子集

${array[@]}         # 所有得值
${array[@]:2:3}     # 从下标 2 开始取 3 个值
${array[@]::3}      # 从 下标 0 开始最多取 3 个值
${array[@]:2}       # 从下标 2 开始及后面所有得值
  • 以上的 @ 都可以用 * 代替效果一样,除了在整个表达式两侧加 "" 时,@ 是把每个值看着个体,而 * 是把所有值看成一个整体。
  • 返回的值不会再进行求值,就是说如果有个值是 $a,输出依然是 $a,而不会再取变量 a 的值。

修改

array[0]='abc'              # 覆盖元素
array=("${arrya[@]}" "app") # 追加元素
array=("${array[@]::${#array[@]}-1}") # 删除最后一个元素

你可能感兴趣的:(bash 数组)