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

Bash 배열 – Bash 스크립트에서 문자열 배열을 선언하는 방법

Bash 스크립트는 명령줄 작업을 자동화하는 편리한 방법을 제공합니다.

Bash를 사용하면 다른 스크립팅 또는 프로그래밍 언어에서 수행하는 것과 동일한 많은 작업을 수행할 수 있습니다. 변수를 생성 및 사용하고, 루프를 실행하고, 조건부 논리를 사용하고, 데이터를 배열에 저장할 수 있습니다.

기능이 매우 친숙할 수 있지만 Bash의 구문은 까다로울 수 있습니다. 이 기사에서는 배열을 선언하는 방법과 코드에서 배열을 사용하는 방법을 배웁니다.

배시에서 배열을 선언하는 방법

Bash에서 배열을 선언하는 것은 쉽지만 구문에 주의하십시오. 다른 언어로 프로그래밍하는 데 익숙하다면 코드가 친숙해 보일 수 있지만 놓치기 쉬운 미묘한 차이점이 있습니다.

배열을 선언하려면 다음 단계를 따르세요.

  1. 배열에 이름 지정
  2. 변수 이름 뒤에 등호를 붙입니다. 등호는 해서는 안 됩니다. 주변에 공백이 있는지
  3. 배열을 괄호 로 묶습니다. (자바스크립트와 같은 대괄호 아님)
  4. 따옴표를 사용하여 문자열을 입력하되 쉼표는 사용하지 않음 그들 사이

배열 선언은 다음과 같습니다.

myArray=("cat" "dog" "mouse" "frog)

그게 다야! 정말 간단합니다.

Bash에서 배열에 액세스하는 방법

배열을 반복하는 몇 가지 다른 방법이 있습니다. 요소 자체를 반복하거나 인덱스를 반복할 수 있습니다.

배열 요소를 순환하는 방법

배열 요소를 반복하려면 코드가 다음과 같아야 합니다.

${myArray[@]}의 str에 대한
for str in ${myArray[@]}; do
  echo $str
done

이를 분해하려면 forEach를 사용하는 것과 비슷합니다. 자바스크립트에서. 배열(myArray)의 각 문자열(str)에 대해 해당 문자열을 인쇄합니다.

이 루프의 출력은 다음과 같습니다.

cat
dog
mouse
frog

참고 :@ 대괄호 안의 기호는 all을 반복하고 있음을 나타냅니다. 배열의 요소. 이를 생략하고 for str in ${myArray}를 작성하려면 , 배열의 첫 번째 문자열만 인쇄됩니다.

배열 인덱스를 반복하는 방법

또는 배열의 인덱스를 반복할 수 있습니다. 이것은 for와 같습니다. 루프는 JavaScript의 루프이며 각 요소의 인덱스에 액세스할 수 있도록 하려는 경우에 유용합니다.

이 방법을 사용하려면 코드가 다음과 같아야 합니다.

for i in ${!myArray[@]}; do
  echo "element $i is ${myArray[$i]}"
done

출력은 다음과 같습니다.

element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog

참고 :myArray 시작 부분의 느낌표 변수는 인덱스에 액세스하고 있음을 나타냅니다. 요소 자체가 아니라 배열의 요소입니다. 부정을 나타내는 느낌표에 익숙하다면 혼동될 수 있으므로 주의해야 합니다.

또 다른 참고사항 :Bash는 일반적으로 변수에 중괄호가 필요하지 않지만 배열에는 필요합니다. 따라서 배열을 참조할 때 ${myArray} 구문을 사용하여 참조한다는 것을 알 수 있습니다. , 하지만 문자열이나 숫자를 참조할 때는 단순히 달러 기호를 사용합니다. $i .

결론

Bash 스크립트는 자동화된 명령줄 동작을 만드는 데 유용하며 배열은 여러 데이터 조각을 저장하는 데 사용할 수 있는 훌륭한 도구입니다.

선언하고 사용하는 것은 어렵지 않지만 다른 언어와 다르기 때문에 실수하지 않도록 주의를 기울이십시오.