这个变量符号是什么意思?一个[++ B] = $ C

时间:2017-04-04 20:11:17

标签: bash variables

我在bash中看过这种表示法:

 a=${b[c--]} 

 a[++b]=$c

或者相反:

 a[b++]=$c

但如果我在命令行上执行它没有任何反应。

 OSX@26:~ $ a[++b]=2
 OSX@27:~ $ echo ${a[++b]}

 OSX@28:~ $

这种表示法的用途是什么?

编辑:

我在问这个符号。正如我所见,它是一个变量,因为前面的$。但是++确实提醒我增量,所以我很困惑。这是某种变量增量吗?

1 个答案:

答案 0 :(得分:3)

c--是一个算术表达式,它表示"返回c的值,然后将其递减1"。 ${b[n]}表示数组n的第b个元素(其中第一个元素的索引为0)。方括号内的表达式被解释为算术(有一些例外,如*@'1'等。)试试吧:

b=(x y z)
c=2
a=${b[c--]}
echo $a $c  # Outputs: z 1

所以c--返回2,但将c设置为1. b[2],即z,然后分配给a

++cc--类似,但在返回其值之前,它会向c 添加1。