logo

반복문 | 쉘 스크립트

쉘 스크립팅의 반복문: Bash 프로그래밍에서 사용할 수 있는 반복문은 총 3개입니다.

내용의 테이블



루프 문의 흐름을 변경하려면 두 가지 명령이 사용됩니다.

자바의 tostring 메소드
  1. 부서지다
  2. 계속하다

해당 설명과 구문은 다음과 같습니다.

Linux 쉘 스크립트의 'while' 문

여기에서 명령이 평가되고 결과 루프에 따라 실행됩니다. 명령이 false로 발생하면 루프가 종료됩니다. 저것.



#/bin/bash while  do       done>

쉘 스크립트에서 'While' 루프 구현.

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용하고 있습니다.

vim looping.sh>

looping.sh를 원하는 이름으로 바꿀 수 있습니다.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.



chmod +x looping.sh>

#/bin/bash

a=0

# lt는 연산자보다 작습니다.

#10 미만이 될 때까지 루프를 반복합니다.

동안 [ $a -lt 10 ]
하다
# 값을 인쇄합니다
$a를 에코하세요
# 값을 증가시킨다
a=`expr $a + 1`
완료

산출:

Linux의 While 루프

Linux의 While 루프

설명:

  • #/bin/bash> : Bash 셸을 사용하여 스크립트를 해석하도록 지정합니다.
  • a=0> : 변수를 초기화합니다.a>값이 0입니다.
  • while [ $a -lt 10 ]> : 값만큼 계속되는 while 루프를 시작합니다.a>10 미만입니다.
  • do> : 루프 본문의 시작을 표시합니다.
  • echo $a> : 현재 값을 인쇄합니다.a>콘솔.
  • a=> expr $a + 1 : 값을 증가시킵니다.a>1.expr>명령은 산술 표현식에 사용됩니다.
  • done> : 루프의 끝을 표시합니다.

Linux 쉘 스크립트의 `for` 문

for 루프는 항목 목록에서 작동합니다. 목록의 모든 항목에 대해 일련의 명령을 반복합니다.
여기서 var는 변수의 이름이고 word1부터 wordN까지는 공백(단어)으로 구분된 문자 시퀀스입니다. for 루프가 실행될 때마다 변수 var의 값은 단어 목록의 다음 단어(word1 ~ wordN)로 설정됩니다.

통사론:

#/bin/bash for in  do       done>

쉘 스크립트에서 'break' 문을 사용하여 'for' 루프를 구현합니다.

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용하고 있습니다.

vim for.sh>

for.sh를 원하는 이름으로 바꿀 수 있습니다.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

chmod +x for.sh>

#/bin/bash

#for 루프의 시작

1 2 3 4 5 6 7 8 9 10에 대한
하다

# a가 5와 같으면 루프를 중단합니다.
만약 [ $a == 5 ]
그 다음에
부서지다
BE

# 값을 인쇄합니다
echo 반복 없음 $a
완료

산출:

Linux의 for 루프에 있는 Break 문

Linux의 for 루프에 있는 Break 문

설명:

  • #/bin/bash>: Bash 셸을 사용하여 스크립트를 해석하도록 지정합니다.
  • for a in 1 2 3 4 5 6 7 8 9 10>: 1부터 10까지의 값을 반복하는 for 루프를 시작하여 각 값을 변수에 할당합니다.a>각 반복에서.
  • do>: 루프 본문의 시작을 표시합니다.
  • if [ $a == 5 ]>: 현재 값이 맞는지 확인합니다.a>5와 같습니다.
    • then>: 조건이 참일 경우 실행될 조건부 블록의 시작을 표시합니다.
      • break>: 조건이 true이면 루프를 종료합니다.
    • fi>: 조건 블록의 끝을 표시합니다.
  • echo 'Iteration no $a'>: 현재 반복 횟수를 나타내는 메시지를 인쇄합니다.
  • done>: 루프의 끝을 표시합니다.

스크립트는 1부터 10까지의 값을 반복하는 for 루프를 설정합니다. 각 반복 중에 값이a>은 5와 같습니다. 그렇다면 루프는 다음을 사용하여 종료됩니다.break>성명. 그렇지 않으면 현재 반복 횟수를 나타내는 메시지를 인쇄합니다. 루프는 모든 반복이 완료되거나 break 문을 만날 때까지 계속됩니다.

쉘 스크립트에서 `continue` 문을 사용하여 `for` 루프 구현.

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용하고 있습니다.

vim for_continue.sh>

for_continue.sh를 원하는 이름으로 바꿀 수 있습니다.

자바스크립트 경고 상자

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

chmod +x for_continue.sh>

#/bin/bash

1 2 3 4 5 6 7 8 9 10에 대한
하다

# a = 5이면 루프를 계속하고
# 8번째 줄로 이동하지 마세요

만약 [ $a == 5 ]
그 다음에
계속하다
BE
echo 반복 없음 $a
완료

산출:

Linux의 for 루프에서 continue 문

Linux의 for 루프에서 continue 문

설명:

  • #/bin/bash> : Bash 셸을 사용하여 스크립트를 해석하도록 지정합니다.
  • for a in 1 2 3 4 5 6 7 8 9 10> : 1부터 10까지의 값을 반복하는 for 루프를 시작하여 각 값을 변수에 할당합니다.a>각 반복에서.
  • do> : 루프 본문의 시작을 표시합니다.
  • if [ $a == 5 ]> : 현재 값이 맞는지 확인합니다.a>5와 같습니다.
    • then> : 조건이 참일 경우 실행될 조건부 블록의 시작을 표시합니다.
      • continue> : 루프 본문의 나머지 부분을 건너뛰고 조건이 true인 경우 다음 반복으로 이동합니다.
    • fi> : 조건 블록의 끝을 표시합니다.
  • echo 'Iteration no $a'> : 현재 반복 횟수를 나타내는 메시지를 인쇄합니다. 다음과 같은 경우 이 줄을 건너뜁니다.a>때문에 5와 같습니다.continue>성명.
  • done> : 루프의 끝을 표시합니다.

스크립트는 1부터 10까지의 값을 반복하는 for 루프를 설정합니다. 각 반복 중에 값이a>5와 같습니다. 그렇다면 루프는 루프 본문의 나머지 문을 실행하지 않고 다음 반복을 계속합니다. 그렇지 않으면 현재 반복 횟수를 나타내는 메시지를 인쇄합니다. 루프는 모든 반복이 완료될 때까지 계속됩니다.

Linux 쉘 스크립트의 'until' 문

조건/명령이 false로 평가될 때까지 루프가 실행됩니다. 조건/명령이 true가 되면 루프가 종료됩니다.

통사론:

#/bin/bash until  do       done>

쉘 스크립트에서 `until` 루프 구현

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용하고 있습니다.

vim until.sh>

까지 교체하시면 됩니다. sh 원하는 이름으로.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

chmod +x until.sh>

#/bin/bash

a=0

# -gt는 연산자보다 큽니다.
#a가 10보다 커질 때까지 루프를 반복합니다.

[ $a -gt 10 ]까지
하다

# 값을 인쇄합니다
$a를 에코하세요

# 값을 증가시킨다
a=`expr $a + 1`
완료

산출:

Linux의 Unitl 루프

Linux의 루프까지

설명:

  • #/bin/bash> : Bash 셸을 사용하여 스크립트를 해석하도록 지정합니다.
  • a=0> : 변수를 초기화합니다.a>값이 0입니다.
  • until [ $a -gt 10 ]> : 값만큼 계속되는 Until 루프를 시작합니다.a>10보다 크지 않습니다.
  • do> : 루프 본문의 시작을 표시합니다.
  • echo $a> : 현재 값을 인쇄합니다.a>콘솔.
  • a=> expr $a + 1 : 값을 증가시킵니다.a>1.expr>명령은 산술 표현식에 사용됩니다.
  • done> : 루프의 끝을 표시합니다.

메모: 쉘 스크립팅은 대소문자를 구분하는 언어입니다. 즉, 스크립트를 작성하는 동안 올바른 구문을 따라야 합니다.

반복 문의 예

1. For 루프를 사용하여 색상 반복

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용하고 있습니다.

vim color.sh>

color.sh를 원하는 이름으로 바꿀 수 있습니다.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

chmod +x color.sh>

#/bin/bash

색상=빨간색 녹색 파란색

# COLORS에서 모든 값을 읽을 때까지 for 루프가 계속됩니다.

$COLORS의 COLOR용
하다
에코 색상: $COLOR
완료

산출:

Linux의 경우

Linux의 경우

설명:

  • 색상 초기화:
    • COLORS='red green blue'>: 이름이 지정된 변수를 초기화합니다.COLORS>공백으로 구분된 색상 값(빨간색, 녹색, 파란색) 목록이 있습니다.
  • For 루프 반복:
    • for COLOR in $COLORS>: 각 값을 반복하는 for 루프를 시작합니다.COLORS>변하기 쉬운.
      • 루프 본체:
        • echo 'COLOR: $COLOR'>: 각 색상에 대한 메시지를 인쇄하여 현재 색상 값을 표시합니다.
    • 루프는 다음에 있는 모든 값을 처리할 때까지 계속됩니다.COLORS>변하기 쉬운.

이 예는 Bash에 저장된 색상 목록을 반복하는 간단한 for 루프를 보여줍니다.COLORS>변하기 쉬운. 루프는 각 색상에 대해 현재 처리 중인 색상을 나타내는 메시지를 인쇄합니다. 루프는 모든 색상 값이 소진될 때까지 반복됩니다.

2. while true를 사용하여 무한 루프 만들기 쉘 스크립트에서

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용합니다.

vim infinite.sh>

Infinite.sh를 원하는 이름으로 바꿀 수 있습니다.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

: 자바에서
chmod +x infinite.sh>

#/bin/bash

사실이지만
하다

# 실행할 명령
# sleep 1은 1초 동안 잠을 잔다는 의미입니다.
echo 안녕하세요 무한루프 입니다
잠 1
완료

산출:

리눅스의 무한 루프

리눅스의 무한 루프

설명:

무한 루프 구조:

  • while true>: 조건에 따라 무한정 계속되는 while 루프를 시작합니다.true>항상 사실입니다.
    • 루프 본체:
      • echo 'Hi, I am infinity loop'>: 스크립트가 무한 루프에 있음을 나타내는 메시지를 인쇄합니다.
      • sleep 1>: 다음 반복 전에 루프 실행을 1초 동안 일시 중지합니다.
  • 루프는 무한정 계속되며 본문 내의 명령을 반복적으로 실행합니다.

이 예제는 Bash에서 while true 구문을 사용하여 무한 루프를 생성하는 방법을 보여줍니다. 루프는 자신의 상태가 무한 루프임을 나타내는 메시지를 계속해서 인쇄하고 sleep 1 명령을 포함하므로 반복 사이에 1초의 지연이 발생합니다. 무한 루프는 수동으로 중단될 때까지 계속 실행해야 하는 프로세스에 자주 사용됩니다.

3. 대화형 이름 확인 루프

먼저 Linux에서 텍스트 편집기를 사용하여 파일을 만듭니다. 이 경우 `vim` 편집기를 사용합니다.

vim name.sh>

name.sh를 원하는 이름으로 바꿀 수 있습니다.

그런 다음 Linux에서 `chmod` 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

chmod +x name.sh>

#/bin/bash

정확함=n
동안 [ $CORRECT == n ]
하다

# y를 입력하면 루프가 중단됩니다. 즉, 이름이 정확할 때입니다.
# -p는 입력을 요청하는 프롬프트를 나타냅니다.

읽기 -p 이름을 입력하세요: NAME
read -p ${NAME}이 맞나요? 옳은
완료

산출:

Linux의 대화형 스크립트

Linux의 대화형 스크립트

설명:

  • 초기화:
    • CORRECT=n>: 이름이 지정된 변수를 초기화합니다.CORRECT>n 값으로. 이 변수는 루프를 제어하는 ​​데 사용됩니다.
  • 대화형 루프:
    • while [ '$CORRECT' == 'n' ]>: 값만큼 계속되는 while 루프를 시작합니다.CORRECT>n과 같습니다.
      • 루프 본체:
        • read -p 'Enter your name:' NAME>: 사용자에게 이름을 입력하라는 메시지를 표시하고 입력 내용을NAME>변하기 쉬운.
        • read -p 'Is ${NAME} correct? ' CORRECT>: 입력한 이름이 맞는지 사용자에게 확인을 요청하고 업데이트합니다.CORRECT>그에 따라 가변적입니다.
    • 사용자가 y(올바른 이름을 나타냄)를 입력할 때까지 루프가 계속됩니다.

이 예에서는 사용자에게 이름을 입력하라는 메시지를 표시한 다음 확인을 요청하는 대화형 루프를 보여줍니다. 사용자가 y를 입력하여 입력한 이름이 올바른지 확인할 때까지 루프가 계속됩니다. 루프는 ` read> `>사용자 입력을 위한 명령을 실행하고 ` CORRECT> `>루프 흐름을 제어하는 ​​변수입니다.

결론

이 기사에서 우리는 Bash 스크립팅의 반복문에 대해 논의했습니다.while>,for>, 그리고until>루프. 의 사용법을 소개합니다.break>그리고continue>루프 동작을 수정하는 명령문입니다. 실제 예제에서는 색상 값 반복, 무한 루프 생성, 사용자 입력 유효성 검사를 위한 대화형 루프 구축 등 루프 구현을 보여줍니다. 이 가이드는 Bash 스크립팅의 반복 구성을 이해하고 활용하기 위한 간결하면서도 유익한 리소스를 제공합니다.