스택큐힙리스트

배시에서 문자열 배열을 루프로 반복하는 방법은 무엇인가요? 본문

카테고리 없음

배시에서 문자열 배열을 루프로 반복하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 25. 00:47
반응형

15개의 문자열을 반복하는 스크립트를 작성하고 싶습니다. (어레이를 사용할 수 있을까요?) 가능한가요?

뭔가 같은 것

for databaseName in listOfNames

then

# Do something

end

답변 1

이렇게 사용할 수 있습니다.

## declare an array variable

declare -a arr=(element1 element2 element3)

## now loop through the above array

for i in ${arr[@]}

do

echo $i

# or do whatever with individual element of the array

done

# You can access them using echo ${arr[0]}, ${arr[1]} also

다중 라인 배열 선언에도 작동합니다.

declare -a arr=(element1

element2 element3

element4

)

답변 2

배시(Bash)는 리눅스 운영체제에서 이용되는 쉘 프로그래밍 언어입니다. 배시 스크립트에서 우리는 문자열 배열을 다룰 수 있습니다. 이 배열은 일반적인 변수와는 다르게 인덱스를 지정하여 배열 내의 특정 위치에 있는 값에 쉽게 액세스할 수 있습니다.

배시 스크립트에서 문자열 배열을 만드는 방법은 간단합니다. 배열 변수 이름을 지정하고 할당 연산자를 사용하여 값을 할당합니다. 예를 들어, 다음과 같이 배열을 생성하고 초기값을 할당할 수 있습니다.

my_array=(Apple Banana Grape Orange)

이제 이 배열을 반복하는 방법을 알아보겠습니다.

배시 스크립트에서는 for 반복문을 사용하여 배열을 반복할 수 있습니다. 아래는 이를 위한 코드입니다.

for fruit in ${my_array[@]}

do

echo $fruit

done

위의 코드에서, @ 기호는 배열의 모든 요소를 가져옴을 의미합니다. 그리고 do와 done은 해당 루프의 시작과 끝을 나타냅니다. 즉, 이 배열을 구성하는 모든 과일을 반복하며, 반복이 진행됨에 따라 현재 요소값을 $fruit에 저장하고, 이를 출력합니다.

다음은 Bash에서 배열에 있는 값 중에서 조건을 검사하여 출력하는 실제 예시입니다.

my_array=(Apple Banana Grape Orange)

for fruit in ${my_array[@]}

do

if [[ $fruit == Apple ]]; then

echo My favorite fruit is $fruit

else

echo $fruit is a good fruit too

fi

done

위의 코드를 실행하면, My favorite fruit is Apple을 출력하게 됩니다.

결론적으로, 우리는 Bash에서 문자열 배열을 만들고, 이를 반복하는 방법을 살펴보았습니다. 이를 통해 스크립트 작성을 보다 유연하고 강력하게 할 수 있습니다. 배열을 사용하면 프로그래밍 작업의 축소를 용이하게 하여 코드를 효율적으로 관리할 수 있습니다.

반응형
Comments