我在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
。
++c
与 c--
类似,但它在返回其值之前将 1 加到 c
。