쉘 배열


여러 값을 배열에 저장할 수 있습니다. Bash Shell은 1차원 배열만 지원하며(다차원 배열은 지원하지 않음) 초기화 중에 배열 크기를 정의할 필요가 없습니다(PHP와 유사).

대부분의 프로그래밍 언어와 마찬가지로 배열 요소의 첨자는 0부터 시작합니다.

쉘 배열은 대괄호로 표시되며 요소는 "공백" 기호로 구분됩니다. 구문 형식은 다음과 같습니다.

array_name=(value1 ... valuen)

#!/bin/bash
# author:php中文网
# url:www.php.cn

my_array=(A B "C" D)

아래 첨자를 사용하여 배열을 정의할 수도 있습니다.

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

배열 읽기

읽기 배열 요소 값의 일반적인 형식은 다음과 같습니다.

${array_name[index]}

Instance

#!/bin/bash
# author:php中文网
# url:www.php.cn

my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"

스크립트를 실행하면 출력 결과는 다음과 같습니다.

$ chmod +x test.sh 
$ ./test.sh
第一个元素为: A
第二个元素为: B
第三个元素为: C
第四个元素为: D

배열의 모든 요소 가져오기

배열의 모든 요소를 ​​가져오려면 @ 또는 *를 사용하세요. , 예:

#!/bin/bash
# author:php中文网
# url:www.php.cn

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组的元素为: ${my_array[*]}"
echo "数组的元素为: ${my_array[@]}"

스크립트를 실행하면 출력 결과는 다음과 같습니다.

$ chmod +x test.sh 
$ ./test.sh
数组的元素为: A B C D
数组的元素为: A B C D

배열 길이 가져오기

배열 길이를 가져오는 방법은 문자열 길이를 가져오는 방법과 동일합니다. 예를 들어 :


#!/bin/bash
# author:php中文网
# url:www.php.cn

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组元素个数为: ${#my_array[*]}"
echo "数组元素个数为: ${#my_array[@]}"

스크립트를 실행하면 출력 결과는 다음과 같습니다.

$ chmod +x test.sh 
$ ./test.sh
数组元素个数为: 4
数组元素个数为: 4