我在bash中看过这种表示法:
a=${b[c--]}
或
a[++b]=$c
或者相反:
a[b++]=$c
但如果我在命令行上执行它没有任何反应。
OSX@26:~ $ a[++b]=2
OSX@27:~ $ echo ${a[++b]}
OSX@28:~ $
这种表示法的用途是什么?
编辑:
我在问这个符号。正如我所见,它是一个变量,因为前面的$。但是++确实提醒我增量,所以我很困惑。这是某种变量增量吗?
答案 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
。
++c
与c--
类似,但在返回其值之前,它会向c
添加1。