Unix / Linux-쉘 어레이 사용
이 장에서는 Unix에서 쉘 배열을 사용하는 방법에 대해 설명합니다. 쉘 변수는 단일 값을 보유하기에 충분합니다. 이러한 변수를 스칼라 변수라고합니다.
쉘은라는 다른 유형의 변수를 지원합니다. array variable. 이것은 동시에 여러 값을 보유 할 수 있습니다. 배열은 변수 집합을 그룹화하는 방법을 제공합니다. 필요한 각 변수에 대해 새 이름을 만드는 대신 다른 모든 변수를 저장하는 단일 배열 변수를 사용할 수 있습니다.
쉘 변수에 대해 논의 된 모든 이름 지정 규칙은 배열 이름을 지정하는 동안 적용 할 수 있습니다.
배열 값 정의
배열 변수와 스칼라 변수의 차이점은 다음과 같이 설명 할 수 있습니다.
다양한 학생의 이름을 변수 집합으로 나타내려고한다고 가정합니다. 각 개별 변수는 다음과 같이 스칼라 변수입니다.
NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"
단일 배열을 사용하여 위에서 언급 한 모든 이름을 저장할 수 있습니다. 다음은 배열 변수를 만드는 가장 간단한 방법입니다. 이는 인덱스 중 하나에 값을 할당하는 데 도움이됩니다.
array_name[index]=value
여기서 array_name 은 배열의 이름이고 index 는 설정하려는 배열 항목의 인덱스이며 value는 해당 항목에 대해 설정하려는 값입니다.
예를 들어, 다음 명령은-
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
사용하는 경우 ksh 쉘, 여기에 배열 초기화 구문이 있습니다-
set -A array_name value1 value2 ... valuen
사용하는 경우 bash 쉘, 여기에 배열 초기화 구문이 있습니다-
array_name=(value1 ... valuen)
배열 값 액세스
배열 변수를 설정 한 후 다음과 같이 액세스합니다.
${array_name[index]}
여기서 array_name 은 배열의 이름이고 index 는 액세스 할 값의 인덱스입니다. 다음은 개념을 이해하는 예입니다.
#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Index: ${NAME[0]}"
echo "Second Index: ${NAME[1]}"
위의 예는 다음 결과를 생성합니다.
$./test.sh
First Index: Zara
Second Index: Qadir
다음 방법 중 하나로 배열의 모든 항목에 액세스 할 수 있습니다.
${array_name[*]}
${array_name[@]}
여기 array_name 관심있는 배열의 이름입니다. 다음 예제는 개념을 이해하는 데 도움이됩니다.
#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Method: ${NAME[*]}"
echo "Second Method: ${NAME[@]}"
위의 예는 다음 결과를 생성합니다.
$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy