for 루프
Coddy Terminal 여정의 기초 섹션에 포함된 레슨 — 82개 중 71번째.
때로는 작업을 여러 번 반복해야 할 때가 있습니다. 동일한 명령어를 계속해서 작성하는 대신, for 루프를 사용하여 항목 목록을 순회하며 각 항목에 대해 작업을 수행할 수 있습니다.
다음은 Bash에서 for 루프의 기본 구조입니다:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
done이 스크립트는 목록에 있는 각 이름에 대해 인사말을 출력합니다. name 변수는 순서대로 각 값을 가집니다: 먼저 "Alice", 그다음 "Bob", 그다음 "Charlie". do 키워드는 루프 본문의 시작을 나타내고, done은 루프의 끝을 나타냅니다.
For 루프는 와일드카드와 결합될 때 특히 강력합니다. 디렉토리 내의 모든 파일을 반복해서 처리할 수 있습니다:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
done이것은 현재 디렉터리의 모든 .txt 파일을 반복 처리합니다. 각 반복마다 file 변수가 현재 파일 이름을 보유하므로 각 파일에 대한 작업을 자동으로 수행할 수 있습니다.
중괄호 확장(brace expansion)을 사용하여 특정 범위의 숫자를 순회할 수도 있습니다:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
done이것은 1부터 5까지의 숫자를 출력합니다. For 루프는 반복적인 작업을 단 몇 줄의 코드로 줄여주어 스크립트를 한층 효율적이고 유지관리하기 쉽게 만들어 줍니다.
챌린지
쉬움5부터 1까지의 카운트다운을 출력하는 for 루프를 사용하는 countdown.sh라는 셸 스크립트를 생성하세요.
스크립트는 다음 조건을 만족해야 합니다:
- 쉬뱅(shebang) 줄(
#!/bin/bash)로 시작합니다. - 중괄호 확장(brace expansion)이 적용된 for 루프를 사용하여 5부터 1까지의 숫자를 순회합니다.
- 각 숫자를
Countdown: [number]형식으로 개별 줄에 출력합니다.
스크립트에 실행 권한을 부여하고 실행하세요. 출력은 다음과 같아야 합니다:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1힌트: 내림차순 범위를 생성하려면
{5..1}을 사용하세요. 루프 안에서는i가 루프 변수일 때echo "Countdown: $i"를 사용하세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.