Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Bash의 배열 변수, 사용 방법, 예제 포함

우리는 이전에 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]

배열 반복

배열로 할 가장 일반적인 일은 각 요소에 대한 연산을 수행하기 위해 배열을 반복하는 것입니다. 우리는 앞서가고 있으며 이미 이 기사를 다뤘습니다.