Bash Shell - seq 명령어로 반복문 구현 및 예제

Bash 쉘 스크립트에서 숫자를 나열하는 seq 명령어를 사용하여 반복문을 만들 수 있습니다. 어떤 규칙으로 나열되는 숫자 Index로 반복문을 만들고 싶을 때 seq를 사용할 수 있습니다.

예제와 함께 자세히 알아보겠습니다.

1. seq 명령어 소개

seq 명령어는 연속적인 숫자를 나열해주는 명령어입니다. 터미널에서 아래와 같이 입력하면 연속적인 숫자를 나열합니다. seq 1 2 5는 1에서 5까지 나열하는데 +2씩 증가하면서 숫자를 나열하라는 의미입니다.

$ seq 1 5
1
2
3
4
5

$ seq 1 2 5
1
3
5

2. seq 명령어로 반복문 구현 (1)

다음과 같이 seq로 반복문을 구현할 수 있습니다. seq 10은 1에서 10까지 숫자를 나열하기 때문에, for 루프의 index가 1에서 10까지 반복합니다.

#!/bin/bash

for i in $(seq 10)
  do
    echo "Loop: ${i}"
  done

Output:

$ bash example.sh
Loop: 1
Loop: 2
Loop: 3
Loop: 4
Loop: 5
Loop: 6
Loop: 7
Loop: 8
Loop: 9
Loop: 10

3. seq 명령어로 반복문 구현 (2)

Index가 5에서 10까지 반복하게 하려면 seq 5 10으로 입력하시면 됩니다.

#!/bin/bash

for i in $(seq 5 10)
  do
    echo "Loop: ${i}"
  done

Output:

$ bash example.sh
Loop: 5
Loop: 6
Loop: 7
Loop: 8
Loop: 9
Loop: 10

4. seq 명령어로 반복문 구현 (3)

1에서 10까지, 3 간격으로 숫자를 반복하려면 seq 1 3 10으로 입력하시면 됩니다.

#!/bin/bash

for i in $(seq 1 3 10)
  do
    echo "Loop: ${i}"
  done

Output:

$ bash example.sh
Loop: 1
Loop: 4
Loop: 7
Loop: 10

5. 1분 동안 5초마다 반복하는 반복문 구현

아래와 같이 Index가 1, 6, 11, 16... 처럼 5의 간격으로 60까지 반복하게 하고, 반복문에서 5초간 sleep하면, 1분동안 5초마다 어떤 작업을 반복하게 됩니다.

#!/bin/bash

for i in $(seq 1 6 60)
  do
    echo "Loop: ${i}"
    sleep 5
  done

Output:

$ bash example.sh
Loop: 0
Loop: 5
Loop: 10
Loop: 15
Loop: 20
Loop: 25
Loop: 30
Loop: 35
Loop: 40
Loop: 45
Loop: 50
Loop: 55
Loading script...
codechachaCopyright ©2019 codechacha