这个变量符号是什么意思?a[++b]=$c.



我在bash中看到过这种符号:

 a=${b[c--]} 

或者也

 a[++b]=$c

或者相反:

 a[b++]=$c

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

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

这种符号有什么用?

编辑:

我问的是这个符号。正如我所看到的,它是一个变量,因为前面的 $。但是++确实让我想起了增量,所以我很困惑。这是某种可变增量吗?

c--是一个

算术表达式,它的意思是"返回c的值,然后将其减1"。 ${b[n]} 表示数组b的第n个元素(其中第一个元素的索引为 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-- 类似,但它在返回其值之前将 1 加到 c

最新更新