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 변수에는 현재 파일 이름이 저장되므로, 각 파일에 대한 작업을 자동으로 수행할 수 있습니다.
알아둘 점이 하나 있습니다. 패턴과 일치하는 파일이 하나도 없으면 Bash는 패턴을 확장하지 않습니다. 그러면 반복문이 아예 실행되지 않는 대신, *.txt라는 문자 그대로의 텍스트를 값으로 사용해 한 번 실행됩니다.
중괄호 확장을 사용해 숫자 범위를 반복할 수도 있습니다.
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
done이렇게 하면 1부터 5까지의 숫자가 출력됩니다. for 루프를 사용하면 반복 작업을 몇 줄의 코드만으로 처리할 수 있어 스크립트를 더 효율적으로 만들고 유지 관리하기도 쉬워집니다.
챌린지
쉬움countdown.sh라는 셸 스크립트를 만들어 for 루프를 사용해 5부터 1까지 카운트다운을 출력하세요.
스크립트는 다음을 수행해야 합니다.
- 셰뱅 줄(
#!/bin/bash)로 시작하기 - 중괄호 확장을 사용하는 for 루프로 5부터 1까지 숫자를 반복하기
- 각 숫자를
Countdown: [number]형식으로 한 줄에 하나씩 출력하기
스크립트를 실행 가능하게 만든 다음 실행하세요. 출력은 다음과 같아야 합니다.
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1힌트: 내림차순 범위를 만들려면
{5..1}을 사용하세요. 루프 안에서는i가 루프 변수일 때echo "Countdown: $i"를 사용하세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드