2 ksh
我在某处读到ksh的数组支持+=
追加新元素,但我尝试了它并且它不起作用:
[ksh] # arr=(a b c d)
[ksh] # arr+=e
[ksh] # echo ${arr[*]}
ae b c d
[ksh] #
Run Code Online (Sandbox Code Playgroud)
为什么arr[0]
变成了ae
?
要向数组添加元素,它应该是这样的:
arr+=(e)
Run Code Online (Sandbox Code Playgroud)
通过这样做arr+=e
,它将添加到数组的第一个元素.因为只是名称arr
指向数组本身的第一个元素:
$ arr=(a b c d)
$ echo ${arr[0]}
a
$ echo $arr
a
Run Code Online (Sandbox Code Playgroud)