#! /bin/bash
declare -a input # unnecessary
declare -a bad
declare -a good # unnecessary
input=('alpha 23' 'bravo 79' 'charlie 12')
echo "input is " ${#input[@]} "long"
for x in "${input[@]}"
do
bad=$x
good[ ${#good[@]} ]=$x
echo
echo "added '$x', good is now " ${#good[@]} "long, bad is still " ${#bad[@]} "long"
done
아래의 코드는 출력은 bash에 대한 매뉴얼 페이지에 따르면
input is 3 long
added 'alpha 23', good is now 1 long, bad is still 1 long
added 'bravo 79', good is now 2 long, bad is still 1 long
added 'charlie 12', good is now 3 long, bad is still 1 long
입니다 고려 배열에 추가 선택적인 대괄호와 아래 첨자가 제공되는 경우 해당 색인은 에 할당되고, 그렇지 않으면 할당 된 요소의 색인은 문에 하나의을 더한 마지막 색인입니다. 색인 생성은 0에서 시작합니다.
"bad = $ x"명령문이 실행될 때마다 인덱스를 자동으로 증가시킬 것으로 예상 했으므로이 부분을 굵은 글씨로 분명히 이해하지 못합니다. 매번 나쁜 [0]을 지정하지 않습니다. 왜 내가 기대했던 내가 좋은 할당 서투른 라인보다 코드를 작성하는 더 좋은 방법이 일을하지 않는
[을 ..] 당신이 인용 된 부분은 할당 관련
[Bash : 키를 지정하지 않고 배열에 값 추가] (http://stackoverflow.com/q/1951506/3) 776858) – Cyrus