如何从BASH中的数组项中减去1?

时间:2017-10-14 13:44:43

标签: bash

我在BASH有一个侧面项目很有趣,我有这个代码片段(ARRAY[0]是8):

while [ $ALIVE == true ]; do
    $ARRAY[0] = ${ARRAY[0]} - 1
    echo ${ARRAY[0]}
done

但是,它出现了这个错误:

line 16: 8[1]: command not found

我刚刚开始在BASH工作,所以我可能犯了一个明显的错误,但我已经搜索并搜索了这样一个问题的答案,并且没有结果。

1 个答案:

答案 0 :(得分:2)

最小的变化就是:

ARRAY[0]=$(( ${ARRAY[0]} - 1 ))

注意:

  • 在要分配给($的变量的名称前没有foo=,而不是$foo=
  • 作业
  • 上的=周围没有空格
  • $(( ))是输入数学上下文的语法(并扩展到该操作的结果)。