새로운 요소를 추가한 어레이에서는 bash 인덱스화할 지정하지 않고

뭔가 할 수 있는 방법이 # 39, & # 39 와 같은 ' [] = $ 어레이입니다 php foo& bash vs' 하고;;:

array[0] = 'foo'
array[1] = 'bar'
해결책

네 있습니다.

ARRAY=()
ARRAY+=('foo')
ARRAY+=('bar')

[Bash 참조서] [1]:

&gt. 할당 값을 쉘로 컨텍스트에서 오버클로킹된 대입문의 는 변수 또는 배열입니다 인덱스화할 (http://otl. 어레이에는) 에서 "+ = '작동자 사용할 수 있는 # 39 에 추가하거나 추가합니까 variable& 이전 값에.

[1]: http://www.gnu.org/software/bash/manual/bashref.html # 쉘로 매개변수입니다

해설 (15)
  • 덤 같은 담당이잖아요 * # 39 점, it& 나열할지 어레이입니다 제로 및 순차적입니다 시작하여, s 합니다. 지정을 해제할 수 있기 때문에 '$ # 어레이입니다 [@]} {만들기 및 비연속 지수' 는 것이 항상 다음 끝에 항목을 어레이입니다.
$ array=(a b c d e f g h)
$ array[42]="i"
$ unset array[2]
$ unset array[3]
$ declare -p array     # dump the array so we can see what it contains
declare -a array='([0]="a" [1]="b" [4]="e" [5]="f" [6]="g" [7]="h" [42]="i")'
$ echo ${#array[@]}
7
$ echo ${array[${#array[@]}]}
h

39 의 마지막 색인에서 here& 얻는 방법:

$ end=(${!array[@]})   # put all the indices in an array
$ end=${end[@]: -1}    # get the last one
$ echo $end
42

마지막 요소에 볼 수 있는 방법을 설명하는 어레이에서는. # 39 이 슬라이드에서는 you& 종종, ll.

$ echo ${array[${#array[@]} - 1]}
g

39 we& 알 수 있듯이, 이 때문에, re 다루는 희소 어레이이며 isn&, t # 39 마지막 요소. 이 기능은 분산 및 연속 어레이에는 모두에서 표시되어도:

$ echo ${array[@]: -1}
i
해설 (3)
$ declare -a arr
$ arr=("a")
$ arr=("${arr[@]}" "new")
$ echo ${arr[@]}
a new
$ arr=("${arr[@]}" "newest")
$ echo ${arr[@]}
a new newest
해설 (3)

어레이입니다 순차인지 경우 항상 0 에 및 시작 후 이 작업을 수행할 수 있습니다.

array[${#array[@]}]='foo'

# gets the length of the array
${#array_name[@]}

실수로 비유하 사이에 공백을 사용하여, 기호:

array[${#array[@]}] = 'foo'

그 후 유사한 오류가 받게 됩니다.

array_name[3]: command not found
해설 (4)

이 같은 일이 있는 인덱스된 어레이입니다 수 있습니다.

declare -a a=()
a+=('foo' 'bar')
해설 (0)