ㅏ while 루프 지정된 조건이 false로 평가될 때까지 코드 블록을 반복하는 명령문입니다. 조건이 false로 평가되기 전에 몇 번이나 true로 평가되는지 알 수 없는 경우 프로그램에서 이 명령문이나 루프를 사용할 수 있습니다.
내용의 테이블
- BASH 스크립팅의 while 루프 구문
- Linux에서 while 문을 사용한 반복 예제
- while 루프를 사용하여 파일 읽기
- 무한 while 루프
- 정해진 횟수만큼 반복하는 While 루프
- getopts 옵션을 사용하여 명령줄 인수 읽기
- C 스타일 while 루프
- 파일에 대한 작업을 수행하는 while 루프
- while 루프를 사용하여 파일에 쓰기
- 중단하고 계속하기 while 루프 사용
- 자주 묻는 질문
BASH 스크립팅의 while 루프 구문
while [ condition ]; do # statements # commands done>
조건이 true이면 while 블록 내부의 명령이 실행되고 조건을 확인한 후 다시 반복됩니다. 또한 조건이 거짓이면 while 블록 내부의 명령문을 건너뛰고 while 블록 뒤의 명령문이 실행됩니다.
Linux에서 while 문을 사용한 반복 예제
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
a=7
동안 [ $a -gt 4 ];
하다
$a를 에코하세요
((ㅏ-))
완료
에코 루프에서 벗어남
설명:
-
#!/usr/bin/bash>: 이 줄은 shebang이라고 하며 스크립트를 실행하는 데 사용해야 하는 인터프리터의 경로를 나타냅니다. 이 경우 Bash 셸을 사용하도록 지정합니다. -
a=7>: 이름이 지정된 변수를 초기화합니다.a>값은 7입니다. -
while [ $a -gt 4 ];>: 값만큼 계속되는 while 루프를 시작합니다.a>4보다 큽니다. -
do>: while 루프 내에서 실행될 코드 블록의 시작을 표시합니다. -
echo $a>: 변수의 현재 값을 인쇄합니다.a>콘솔에. -
((a--))>: 값을 감소시킵니다.a>by 1. 이것은 간략한 작성 방법입니다.a=$((a - 1))>. -
done>: while 루프에 대한 코드 블록의 끝을 표시합니다. -
echo 'Out of the loop'>: while 루프가 완료된 후 루프 외부를 콘솔에 인쇄합니다.

Linux의 While 루프
요약하면 이 스크립트는 ` 변수를 초기화합니다. a`> 값 7을 사용하면 ` 동안 계속되는 while 루프에 들어갑니다. a`> 은 4보다 큽니다. 루프 내에서 `의 현재 값을 인쇄합니다. a`> 그리고 매 반복마다 1씩 감소합니다. 한번 ` a`> 4 이하가 되면 루프가 종료되고 스크립트는 Out of the loop를 콘솔에 인쇄합니다.
while 루프를 사용하여 파일 읽기
BASH에서는 while 루프를 사용하여 파일을 읽을 수 있습니다. 특정 매개변수를 while 루프 조건으로 구문 분석함으로써 파일을 한 줄씩 또는 문자나 단어와 같은 다른 그룹별로 반복할 수 있습니다.
날짜를 문자열로
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
파일=temp.txt
-r 줄을 읽는 동안;
하다
$line 에코
완료 <$file
설명:
-
#!/usr/bin/bash>: 이 shebang 줄은 스크립트를 해석하는 데 Bash 셸을 사용해야 함을 지정합니다. -
file=temp.txt>: temp.txt 문자열을 변수에 할당합니다.file>, 읽을 파일의 이름을 나타냅니다. -
while read -r line;>: 지정된 파일에서 각 줄을 읽는 while 루프를 시작합니다. -
do>: while 루프 내에서 실행될 코드 블록의 시작을 표시합니다. -
echo $line>: 변수의 내용을 인쇄합니다.line>는 파일에서 콘솔로 읽고 있는 현재 줄을 나타냅니다. -
done>: while 루프에 대한 코드 블록의 끝을 표시합니다. -
<'$file'>: 지정된 파일(이 경우 temp.txt)에서 나오도록 while 루프의 입력을 리디렉션합니다.
요약하면 이 스크립트는 temp.txt 파일의 각 줄을 읽고 파일에 더 이상 줄이 남지 않을 때까지 콘솔에 인쇄합니다. 그만큼-r>옵션이 있는read>명령은 입력의 백슬래시가 리터럴 문자로 처리되도록 하는 데 사용됩니다.

Linux에서 while 문을 사용하여 파일 읽기
실제로 파일에서 줄이나 문자를 가져오기 위해 read 명령을 사용합니다. 읽기 명령은 가 나타나는 경우 문자 이스케이프를 무시하는 -r 인수와 함께 전달되므로 해당 명령으로 구문 분석됩니다. done 문 다음에 언급된 파일에서 한 줄을 읽습니다. read 명령은 언급된 파일에서 한 줄을 읽고 파일의 마지막 줄을 읽을 때 while 루프가 종료됩니다(읽을 줄이 남지 않음).
이것이 BASH에서 while 루프를 사용하여 파일의 내용을 읽는 방법입니다.
무한 while 루프
while 루프 문을 사용하여 무한 루프를 만듭니다. while 루프에 어떤 조건도 넣을 필요가 없으므로 루프는 무한히 반복됩니다. 아래는 무한 while 루프의 예입니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
하는 동안 :
하다
echo 무한 루프
# Ctrl + C를 눌러 스크립트를 종료할 수 있습니다
완료
설명:
-
#!/usr/bin/bash>: shebang 라인은 스크립트를 해석하기 위해 Bash 쉘을 사용해야 함을 지정합니다. -
while :>: 무한 루프를 시작합니다. 그만큼:>(콜론)은 항상 true를 반환하여 효과적으로 무한 루프를 생성하는 쉘 내장 명령입니다. -
do>: 무한 루프 내에서 실행될 코드 블록의 시작을 표시합니다. -
echo 'An Infinite loop'>: 루프가 반복될 때마다 문자열 An Infinite loop를 콘솔에 인쇄합니다. -
# We can press Ctrl + C to exit the script>: 터미널에서 Ctrl + C를 눌러 스크립트를 중단할 수 있음을 나타내는 주석입니다. Ctrl + C는 터미널에서 실행 중인 스크립트를 중단하고 종료하는 일반적인 방법입니다. -
done>: 무한 루프에 대한 코드 블록의 끝을 표시합니다.
요약하자면, 이 스크립트는 An Infinite loop라는 메시지를 콘솔에 지속적으로 에코하는 무한 루프를 생성합니다. 터미널에서 Ctrl + C를 눌러 루프를 중단하고 스크립트를 종료할 수 있습니다.

Linux에서 While 문을 사용하는 무한 루프
따라서 스크립트의 while 루프는 무한한 시간 동안 반복됩니다. Ctrl + C를 사용하여 루프나 스크립트를 수동으로 중단할 수 있습니다.
정해진 횟수만큼 반복하는 While 루프
while 루프를 사용하여 고정된 횟수만큼 반복할 수 있고, 조건을 -le 또는 숫자보다 작도록 설정할 수 있으며, 반복자가 제공된 숫자보다 작거나 같을 때까지 루프가 반복됩니다. 조건. 또한 루프 반복자가 계속 작동하도록 반복자를 수동으로 증가시켜야 합니다. 그렇지 않으면 루프가 영원히 계속됩니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
나는=1
# 숫자 4는 다음으로 제한될 수 있습니다.
# 루프를 반복한다
동안 [ $i -le 4 ];
하다
$i를 에코해
((i++))
완료파이썬 소수점 이하 2자리까지 출력
설명:
-
#!/usr/bin/bash>: shebang 라인은 스크립트를 해석하기 위해 Bash 쉘을 사용해야 함을 지정합니다. -
i=1>: 이름이 지정된 변수를 초기화합니다.i>값이 1입니다. -
while [ $i -le 4 ];>: 값만큼 계속되는 while 루프를 시작합니다.i>4보다 작거나 같습니다. -
do>: while 루프 내에서 실행될 코드 블록의 시작을 표시합니다. -
echo $i>: 변수의 현재 값을 인쇄합니다.i>콘솔에. -
((i++))>: 값을 증가시킵니다.i>by 1. 이것은 간략한 작성 방법입니다.i=$((i + 1))>. -
done>: while 루프에 대한 코드 블록의 끝을 표시합니다.

Linux의 while 루프
위의 예에서 루프가 정의된 횟수만큼 반복되는 것을 볼 수 있습니다. 카운터를 1로 초기화했고 조건은 반복자가 이 경우 4보다 작거나 같을 때까지 루프를 반복하는 것입니다. 따라서 요구 사항에 따라 조건의 숫자를 변경할 수 있습니다.
getopts 옵션을 사용하여 명령줄 인수 읽기
get ops 옵션을 사용하여 명령줄에서 입력을 읽을 수 있으며 인수가 여러 개인 경우 while 루프를 사용하여 인수를 확인하고 하나씩 구문 분석할 수 있습니다. getopts는 명령줄에서 사용자 입력을 얻는 도구입니다. 명령줄에서 구문 분석하기 위한 여러 옵션을 가질 수 있으며 getopts와 while 루프를 사용하여 전문적인 사용자 입력 프로그램을 만들 수 있습니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/bin/bash
getopts 동안 n:a: OPT
하다
${OPT} 케이스
n) 이름=${OPTARG} ;;
a) 연령=${OPTARG} ;;
*) echo 잘못된 옵션
1번출구;;
에삭
완료
printf 내 이름은 $name이고 나이는 $age 세입니다.
설명:
-
#!/bin/bash>: shebang 라인은 스크립트를 해석하기 위해 Bash 쉘을 사용해야 함을 지정합니다. -
while getopts n:a: OPT>: 다음을 사용하는 루프를 시작합니다.getopts>명령줄 옵션을 구문 분석합니다. 지정된 옵션은 다음과 같습니다.n>그리고a>, 둘 다 논쟁이 뒤따를 것으로 예상됩니다. -
do>: 루프 내에서 실행될 코드 블록의 시작을 표시합니다. -
case '${OPT}' in>: 발생한 옵션의 값을 평가하는 Case 문을 시작합니다.getopts>. -
n) name=${OPTARG};;>: 옵션인 경우-n>, 해당 인수의 값을 변수에 할당합니다.name>. -
a) age=${OPTARG};;>: 옵션인 경우-a>, 해당 인수의 값을 변수에 할당합니다.age>. -
*) echo 'Invalid option'>: 잘못된 옵션이 발견되면 콘솔에 오류 메시지를 인쇄합니다. -
exit 1;;>: 오류를 나타내는 0이 아닌 상태 코드로 스크립트를 종료합니다. -
esac>: 사례문을 종료합니다. -
done>: 루프의 코드 블록 끝을 표시합니다. -
printf 'My name is $name and am $age years old '>: ` 값을 사용하여 형식화된 메시지를 콘솔에 인쇄합니다.name`>그리고`age`>명령줄 옵션에서 가져옵니다.

Linux의 while 루프
이 경우 이름과 나이라는 두 가지 옵션이 있으며 여러 옵션을 가질 수 있습니다. 스위치 케이스 문을 사용하고 명령줄에서 -shorthand 옵션을 사용하여 어떤 옵션을 사용할지 지정해야 합니다. 이 경우 우리는 다음을 사용했습니다. -n 이름 그리고 -나이에 대한 . 또한 잘못된 인수를 구문 분석하지 않도록 기본 또는 유효하지 않은 사례 검사를 수행합니다. 다음을 사용하여 옵션의 가치를 할당할 수 있습니다. OPTARG 옵션에 제공된 값을 구문 분석하는 변수입니다.
여기서 while 루프는 명령줄에서 전달된 옵션이 없을 때까지 반복하는 데 사용됩니다. -n 및 -a 옵션을 확인하고 캐리지 리턴 또는 Enter 키를 누르고 구문 분석할 추가 옵션이 없을 때까지 반복합니다.
C 스타일 while 루프
BASH에서 C 스타일 while 루프를 사용할 수 있습니다. 변수는 BASH 스타일로 평가해야 하지만 전체 구문은 C와 같습니다. while 루프 조건에서 <= 등과 같은 연산자를 사용할 수 있으므로 C 스타일의 while 루프처럼 호출됩니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim c-style-while.sh>
#!/bin/bash
나는=0
동안 ((i <12))
하다
$i를 에코해
((i+=2))
완료

C 스타일 동안
컴퓨터 네트워크의 네트워크 계층
이 예에서는 while 루프에 -le, -ge 등과 같은 bash가 아닌 연산자가 있는 조건이 있고 대신 조건에 C 스타일 연산자를 사용하는 것을 볼 수 있습니다. 루프의 나머지 부분은 BASH에서와 같은 기본 루프입니다. 루프 본문의 마지막 문에서 볼 수 있듯이 변수 또는 반복자 i는 2씩 증가합니다. 따라서 루프는 5번 이상 반복됩니다.
파일에 대한 작업을 수행하는 while 루프
파일의 특정 부분만 읽는 등 파일에 대한 작업을 수행할 수 있습니다. 특정 방식으로 형식이 지정된 열이 있는 경우 변수를 사용하여 이를 할당하고 한 행 데이터 시간으로 인쇄할 수 있습니다.
다음은 예제 파일 이름 wh.txt입니다.
vim wh.txt>
Linux에서 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim file-while.sh>
출시된 언어 유형
파이썬 일반 1991
자바스크립트 웹 1995
자바 모바일 1995
러스트 임베디드 2010
백엔드 2007로 이동
Linux에서 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim file-while.sh>
#!/bin/bash
a b c를 읽는 동안
하다
에코 $b – $a
완료

Linux의 while 루프
이 예에는 세 개의 행이 있으며, 이를 변수 a,b 및 c에 할당하여 내용을 읽습니다. 원하는 것은 무엇이든 가능하지만 루프 본문에서 사용하는 것을 기억하십시오. b 및 a와 같은 특정 열을 선택하고 해당 열에 대해 인쇄하거나 작업을 수행할 수 있습니다. 이는 로컬 스크립트 변수일 뿐이므로 파일에는 반영되지 않습니다.
while 루프를 사용하여 파일에 쓰기
while 루프에서 사용자 입력을 통해 파일에 쓸 수 있습니다. 파일에 대한 변경 사항을 저장하여 CTRL + D를 사용하거나 파일 쓰기를 방지하기 위해 CTRL + C를 사용하여 루프를 수동으로 종료할 때까지 while 루프를 사용하여 반복할 수 있습니다. read 명령을 사용하여 명령줄에서 텍스트를 입력하고 이를 파일로 구문 분석합니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim write-wh.sh>
#! /bin/bash
파일=wh.txt
echo $file 파일에 내용을 입력하세요.
라인을 읽는 동안
하다
에코 $line>> $file
완료

Linux의 while 루프
따라서 위의 예에서 while 루프와 읽기 명령을 사용하여 파일에 텍스트를 입력할 수 있었습니다. 루프를 종료하고 파일 변경 사항을 저장하려면 CTRL+ D 키를 사용하고, 파일에 아무것도 저장하지 않고 루프를 종료하려면 CTRL + C 키를 사용할 수 있습니다. 따라서 read 명령과 while 루프를 사용하여 명령줄의 텍스트를 텍스트 파일에 입력합니다.
중단하고 계속하기 while 루프 사용
중단 및 계속은 명시적인 조건 없이 루프 문의 흐름을 제어하므로 루프 문을 처리하는 프로그램에서 필수적입니다.
While 루프의 Break 문
while 루프의 조건이 false로 평가될 때까지 기다리지 않고 루프를 종료하기 위해 break 문을 사용합니다. 이 문은 루프 블록 내에서 사용할 수 있습니다. 이는 루프 내부의 프로그래밍 조건을 사용하여 무한 루프를 종료하고 루프 제어를 유지하는 데 사용할 수 있습니다.
예를 들어, 1부터 영원히 계산하는 스크립트가 있습니다. 그러나 조건이 있는 루프 본문 내부의 break 문을 사용하여 프로그래밍 방식으로 루프에서 벗어날 수 있습니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
나는=1
하는 동안 :
하다
$i를 에코해
if [ $i -eq 20 ]; 그 다음에
echo 이것이 루프의 끝입니다
부서지다
BE
((i++))
완료

Linux의 루프 동안 Break 문
스크립트와 실행을 보면 조건문과 break 문을 사용하여 무한 루프를 중단하거나 종료할 수 있음을 알 수 있습니다. 따라서 break 문은 루프 조건이 false로 평가되지 않고 루프에서 벗어나기 위해 while 루프 내부에서 프로그램/스크립트의 제어 흐름을 가져오는 데 사용됩니다.
While 루프의 Continue 문
continue 문을 사용하면 break 문과 반대되는 작업을 수행할 수 있습니다. 루프 블록의 시작 부분으로 점프하고 다시 반복됩니다. 이는 특정 조건에 대해 특정 명령을 건너뛰는 데 사용될 수 있으므로 루프 흐름을 변경할 수 있습니다.
자바의 유형
예를 들어, 1로 초기화된 변수가 있고 5로 나눌 수 있는 숫자만 표시하거나 조건에 따른 특정 패턴으로 표시하려는 경우 continue 문을 사용하여 그렇게 할 수 있습니다. 이를 통해 원하는 방식으로 루프를 반복할 수 있습니다.
먼저 Linux의 텍스트 편집기를 사용하여 텍스트 파일을 만듭니다. 이 경우 `vim` 텍스트 편집기를 사용합니다.
vim while.sh>
#!/usr/bin/bash
나는=1
동안 [ $i -lt 30 ];
하다
((i++))
if [[ $(( $i % 5 )) -ne 0 ]];
그 다음에
계속하다
BE
$i를 에코해
완료

Linux의 While 루프에서 Continue 문
continue 문에서 볼 수 있듯이 블록의 시작 부분으로 점프하고 블록 내부의 다음 명령을 건너뛰어 명령 실행을 시작합니다. while 루프는 다음 값에 대해서만 반복됩니다. 변수 나는 30보다 작으므로 if 조건은 다음을 확인합니다. 변수 나는 는 5로 나눌 수 있고 그렇지 않은 경우 계속을 사용하여 다시 반복하고 변수 i의 값을 증가시킵니다. 그만큼 변수 나는 5로 나눌 수 있는 경우에만 에코됩니다. 따라서 if 조건은 false로 평가되고 continue 문을 만나지 않고 루프의 일반적인 흐름을 수행합니다. 이는 모든 숫자의 로깅을 방지하고 if 문이나 기타 조건문의 패턴이나 조건을 따르지 않는 숫자만 인쇄하기 위해 수행됩니다.
자주 묻는 질문
1.`이란 무엇입니까? while`> Bash 스크립팅의 루프?
ㅏwhile>loop는 지정된 조건이 true인 한 특정 코드 블록이 반복적으로 실행되도록 허용하는 Bash 스크립팅의 제어 흐름 문입니다. 루프는 반복적인 작업을 자동화하는 방법을 제공하며 스크립팅 및 프로그래밍의 기본 구성입니다.
2. `의 구문은 어떻게 되나요? while`> Bash에서 루프 모양을 보시나요?
a의 기본 구문while>Bash의 루프는 다음과 같습니다.
동안 [ 조건 ]
하다
# 조건이 참일 때 실행되는 코드
완료
` condition`> 루프가 반복되기 전에 발생하는 테스트입니다. 조건이 true이면 루프 내의 코드가 실행됩니다. 조건이 false이면 루프가 종료되고 스크립트는 ` done`> 성명.
3.`의 역할은 무엇입니까? (( ... ))`> Bash에서 구성 while> 고리?
` (( ... ))`> Bash의 구문은 산술 연산에 사용됩니다. `라는 맥락에서 while`> 루프에서는 산술 조건을 평가하는 데 자주 사용됩니다.
예를 들어: ` ((i <10))> `>변수인지 확인 ` i`> 은 10보다 작습니다. 이를 통해 루프 조건에서 직접 산술 표현식을 사용할 수 있으므로 숫자 비교를 처리할 때 특히 유용합니다.
4. `를 사용하여 무한 루프를 만드는 방법 while`> 배쉬에서?
Bash의 무한 루프는 항상 true로 평가되는 조건을 제공하여 생성할 수 있습니다.
예를 들어:
사실이지만
하다
# 무한 루프 코드
완료
또는 다음과 같이 조건에 0이 아닌 상수를 사용할 수 있습니다. ` while [ 1 ]`> , 동일한 결과를 얻으려면. 무한 루프는 수동으로 중단될 때까지 연속 실행이 필요한 상황에서 유용합니다.
결론
이 기사에서 우리는 지정된 조건에 따라 코드 블록을 반복적으로 실행하기 위한 다목적 도구임이 입증된 BASH 스크립팅 while 루프에 대해 논의했습니다. 기본 구문에는 대괄호 안에 조건을 정의하는 작업이 포함되어 있어 유연한 반복이 가능합니다. 이 기사에서는 파일 읽기, 무한 루프 생성, 고정 반복, 명령줄 인수 구문 분석, break 및 continue 문 활용을 포함하여 while 루프의 다양한 응용 프로그램을 살펴봅니다. C 스타일 구문부터 대화형 파일 작성에 이르기까지 각 예는 다양한 스크립팅 요구 사항을 해결하는 루프의 적응성을 보여줍니다. 이 포괄적인 개요는 제어된 반복과 효율적인 코드 실행을 위한 강력한 메커니즘을 제공하는 BASH 스크립팅에서 while 루프의 중요성을 강조합니다.