우리는 이전에 Bash에서 변수를 사용하는 것을 다루었습니다. 이 문서에서는 Bash 배열에 대해 설명합니다. 변수 및 몇 가지 사용 예를 제공합니다.
배열이란 무엇입니까
배열은 여러 값을 저장할 수 있는 변수 유형입니다. 루프를 통해 각 개별 값에 대해 작업을 수행할 수 있는 값 목록입니다.
예를 들어 파일 목록에서 작업을 수행할 수 있습니다. 해당 목록을 배열로 저장하면 그 안에 있는 파일 이름을 반복하고 각각에 대해 작업을 수행할 수 있습니다.
배열의 색인이 생성되며 배열의 각 항목 위치는 0에서 시작하는 숫자로 표시됩니다. .
Bash 배열에서는 배열 요소가 연속적으로 색인화될 필요가 없습니다. – 또는 간격 없이 인접 – 예를 들어 사이에 값이 없는 배열 위치 0, 3, 17에 값을 가질 수 있습니다.
Linux 문서 프로젝트에서 Bash 어레이에 대해 자세히 알아볼 수 있습니다.
Bash 배열 생성
Bash 배열은 경로, 문자열, 숫자, 심지어 다른 배열까지 모든 유형의 bash 변수를 포함할 수 있습니다.
쉘 스크립트에서 파일 경로를 문자열로 묶어야 하는 이유
아래에 설명된 것처럼 배열을 선언하는 방법에는 여러 가지가 있습니다.
간접 선언
배열은 배열 요소의 값을 할당하여 간접적으로 선언할 수 있습니다. 배열은 주어진 값을 가진 배열 요소와 함께 생성됩니다.
ARRAYNAME[INDEX]=VALUE
예:
#!/bin/bash peopleArray[3]="Tom"
배열 peopleArray 배열의 값이 할당되면 자동으로(간접적으로) 생성됩니다. 이 경우 'Tom' 값은 새로 생성된 peopleArray의 인덱스 3에 할당됩니다. .
직접 선언
선언 명령을 사용하여 배열을 정의할 수도 있습니다.
declare -a ARRAYNAME
예:
declare -a peopleArray
이렇게 하면 peopleArray라는 빈 배열이 생성됩니다. .
복합 할당을 통한 생성
이것은 아마도 가장 많이 사용하게 될 방법입니다. 이미 할당된 값으로 배열을 만듭니다.
ARRAYNAME=(value1 value2 ...)
이것은 배열의 값을 변수 이름에 할당합니다. 배열 값은 ()에 포함됩니다. (표준 대괄호) 및 공백으로 구분됩니다. 공백이 포함된 값은 따옴표로 묶어야 합니다.
예:
peopleArray=("Tom", "Bill", "Theodore Baker Sr.")
배열에 값 할당
배열 끝에 새 값 추가
배열에 값을 추가하려면 인덱스가 지정되지 않은 값을 할당하십시오.
ARRAYNAME[]=VALUE
예:
peopleArray[]="Tony"
배열의 값 바꾸기
값을 바꾸려면 현재 값의 인덱스에 있는 값을 덮어씁니다.
예를 들어, 교체하려는 인덱스 7에 값이 있는 배열이 있는 경우:
peopleArray[7]="Tony"
배열의 값 삭제
unset을 사용하여 배열에서 값 삭제 명령 및 배열 인덱스 지정:
unset ARRAYNAME[INDEX]
예:
unset peopleArray[1]
...배열의 두 번째 값을 삭제합니다. peopleArray .
배열 값 액세스
배열의 값에 액세스하려면 중괄호를 사용해야 합니다. – 그렇지 않으면 Bash는 배열 인덱스가 포함된 대괄호를 올바르게 해석하지 않습니다.
echo ${ARRAYNAME[INDEX]}
예:
#!/bin/bash peopleArray=("Tom", "Bill", "Theodore Baker Sr.") echo ${peopleArray[0]}
...출력됩니다:
Tom
반면에 마지막 줄이 다음과 같을 경우:
echo $peopleArray[0]
배열 반복
배열로 할 가장 일반적인 일은 각 요소에 대한 연산을 수행하기 위해 배열을 반복하는 것입니다. 우리는 앞서가고 있으며 이미 이 기사를 다뤘습니다.