10가지 멋지고 멋진 Bash 루프 예제

10gaji Meosjigo Meosjin Bash Lupeu Yeje



프로그래밍 언어에는 주로 세 가지 유형의 루프(for, while, until)가 있습니다. 세 가지 유형의 루프는 모두 다른 방식으로 중요합니다. while 루프와 until 루프 사이에는 큰 차이가 없지만 for 루프는 이 두 루프와 상당히 다르게 작동합니다. 그렇기 때문에 이러한 루프를 사용하여 bash 사용자로서 대화형 스크립트를 만들 수 있습니다.

따라서 bash 예제를 학습하면 스크립트 작성 기술을 향상하는 데 도움이 될 수 있습니다. 따라서 이 튜토리얼에서는 스크립팅 기술을 향상시키기 위해 시도할 수 있는 10가지 멋지고 멋진 bash 루프 예제를 포함합니다.







10가지 멋지고 멋진 Bash 루프 예제

이 섹션에서는 루프에서 사용한 다양한 예제와 접근 방식을 설명합니다.



Bash에서 루프가 있는 Seq 명령

for 루프에서 seq 명령을 사용하여 숫자 시퀀스를 만들 수 있습니다. 예를 들어 다음 코드를 포함하는 bash 스크립트 'File.sh'가 있습니다.



#!/빈/배시
~을 위한 안에 $ ( 시퀀스 5 25 )
하다
에코 '의 수 $A 이다'
완료

터미널에서 스크립트를 실행하면 다음과 같은 결과가 나타납니다.

. / 파일.sh


루프를 사용하여 파일 이름 바꾸기

bash 스크립트를 사용하면 for 루프를 사용하여 여러 파일의 이름을 바꿀 수 있습니다. 예를 들어 .txt 파일이 여러 개 있고 현재 날짜를 이름과 함께 추가하려고 합니다. 사용할 수 있는 예제 스크립트는 다음과 같습니다.

#!/빈/배시
~을 위한 안에 $ ( ls * .txt ) ; 하다
mv $A ( basename $A .txt ) _$ ( 데이트 % % % ) .txt
완료


이제 스크립트를 실행할 수 있으며 현재 날짜를 추가하여 모든 .txt 파일의 이름을 변경합니다.

. / MyFile.sh



마찬가지로 단일 스크립트를 통해 파일의 확장자를 변경할 수 있습니다. 따라서 다음 스크립트를 통해 .txt 확장자를 .sh로 변경해 보겠습니다.

#!/빈/배시
~을 위한 파일 안에 * .txt; 하다
mv -- ' $파일 ' '{파일%.txt}.sh'
완료

터미널에서 스크립트를 실행하면 .txt 파일이 아닌 .sh를 얻게 됩니다.

. / MyFile.sh


Bash의 무한 For 루프

루프에 종료 조건이 정의되지 않은 경우를 무한 루프라고 합니다. Bash 루프의 이 예에서는 bash의 무한 for 루프를 살펴보겠습니다. 다음 무한 for 루프는 이중 세미콜론( ; ; )으로 정의되며 초기, 동작 또는 종료 부분을 포함하지 않습니다.

아래 스크립트는 Ctrl+C를 누르거나 'quit'를 입력할 때까지 계속됩니다. 이 스크립트는 입력으로 제공된 10에서 50까지의 모든 숫자를 인쇄합니다. 그렇지 않으면 '숫자가 범위를 벗어났습니다.'라고 인쇄됩니다.

#!/빈/배시
#무한 루프
~을 위한 ( ( ; ; ) )
하다
에코 '10에서 50 사이의 숫자를 입력하세요'
읽다 N
만약에 [ $n == '그만두다' ]
그 다음에
에코 '종료'
출구 0
~이다
만약에 ( ( $n < 10 || $n > 오십 ) )
그 다음에
에코 '숫자가 범위를 벗어났습니다'
또 다른
에코 '숫자는 $n '
~이다
완료

위의 스크립트에 45개와 23개의 유효한 입력을 제공했습니다. 그런 다음 '숫자가 범위를 벗어났습니다.'라고 출력에 알려주는 입력으로 2를 인쇄합니다. 그런 다음 스크립트를 닫으려면 입력으로 quit를 입력합니다. 여기에서 Ctrl+C를 눌러 무한 루프를 종료할 수도 있습니다.

Bash의 세 가지 표현식 루프

제어 표현식이라고도 하는 세 개의 표현식으로 구성되어 있다는 것은 3 표현식 루프의 이름에서 알 수 있습니다. 첫 번째 표현식(EXP1)은 이니셜라이저이고, 두 번째 표현식(EXP2)은 루프 테스트 또는 조건이며, 세 번째 표현식(EXP3)은 계산 표현식/단계입니다. bash에서 3개 표현식 루프를 실행해 보겠습니다.

#!/빈/배시
~을 위한 ( ( N = 5 ; N > = 1 ; N-- ) )
하다
에코 '책 $n '
완료

위의 스크립트를 실행하면 다음과 같은 결과가 나타납니다.

여러 조건이 있는 루프

다음 bash 루프 예제에서 여러 조건과 함께 until 루프를 사용했습니다. 이 스크립트에서는 값이 각각 20과 10인 두 변수인 'm'과 'n'을 취하여 15의 한계를 유지했습니다. 여기서 'm'과 'n' 조건을 함께 루프에 넣었습니다. 'm'의 값이 한계보다 작고 'n'이 한계보다 클 때까지 루프가 실행됩니다.

#!/빈/배시
한계 = 열 다섯
= 이십
N = 10
~까지 [ [ 백만 달러 -lt $limit || $n -gt $limit ] ] ;
하다
에코 '만약 M = 백만 달러 N = $n '
( ( 중-- ) )
( ( n++ ) )
완료

위의 스크립트를 실행하면 'm'과 'n'의 값이 같은 수준이 될 때까지 실행되는 것을 볼 수 있습니다.

Bash에서 파일 읽기

bash에서는 여러 가지 방법으로 파일 내용을 읽을 수 있습니다. 이 bash 루프 예제에서는 파일 이름을 통해 파일 내용을 읽습니다. 다음 스크립트를 사용하여 bash에서 파일을 읽을 수 있습니다.

#!/빈/배시
에코 '입력한 파일의 내용:'
동안
읽다
하다
에코 $라인
완료 < ~문서 / Linuxhint.txt

위의 스크립트를 실행하면 입력된 파일의 전체 내용을 읽을 수 있습니다.

파일에 쓰기

스크립트의 루프를 사용하여 터미널에서 바로 파일을 편집할 수 있습니다. 예를 들어 'Example.txt'라는 txt 파일이 있고 일부 정보를 추가하려는 경우 다음 스크립트를 사용할 수 있습니다.


위의 스크립트를 실행하면 세부 정보를 입력하라는 메시지가 표시됩니다.


세부 정보를 입력한 후 CTRL + D를 눌러 파일을 저장하고 CTRL + Z를 눌러 프로세스를 성공적으로 완료하십시오.

Bash의 중단 및 계속 문 루프

bash에서는 중단 후 루프 문을 계속할 수 있습니다. break 문은 루프를 종료한 다음 다음 명령문으로 제어를 전달합니다. 두 번째 반복은 동일한 continue 문으로 현재 반복을 건너뛴 후 시작됩니다.

#!/빈/배시
하나에 = 16
~까지 거짓
하다
( ( 하나에-- ) )
만약에 [ [ $num -eq 13 ] ]
그 다음에
계속하다
엘리프 [ [ $num - 4 ] ]
그 다음에
부서지다
~이다
에코 '리눅스힌트= $num '
완료

다음 bash 스크립트에서 'num'이 13일 때 루프 본문의 나머지 부분을 건너뛰고 다음 반복으로 점프하는 것을 볼 수 있습니다. 마찬가지로 'num'이 4보다 작거나 같으면 루프가 중단됩니다.


위의 스크립트는 루프가 15에서 시작하여 13에서 중단되고 5까지 계속됨을 보여줍니다.

Bash에서 평균 계산

bash 루프에서 스크립트를 실행하여 평균을 계산할 수 있습니다. 여기에서 사용자는 정의된 범위 내에서 숫자의 평균을 계산할 수 있습니다. 다음 스크립트는 사용자가 제공한 입력의 평균을 계산합니다.

#!/빈/배시
점수 = '0'
평균 = '0'
합집합 = '500'
온원 = '5'
동안 진실 ; 하다
에코 -N '점수를 입력하거나 'q'를 눌러 중단' ; 읽다 점수;
만약에 ( ( ' $marks ' < '0' ) ) || ( ( ' $marks ' > '100' ) ) ; 그 다음에
에코 '당신의 점수를 입력하세요'
엘리프 [ ' $marks ' == '큐' ] ; 그 다음에
에코 '평균 점수는 다음과 같습니다. $AVERAGE %'
부서지다
또 다른
합집합 =$ [ $SUM + $marks ]
온원 =$ [ $NUM + 1 ]
평균 =$ [ $SUM / $NUM ]
~이다
완료

입력이 범위를 벗어나면 “표시를 입력하세요.”라는 메시지가 출력됩니다. 사용자가 모든 기호를 입력한 후 'q'를 누르면 스크립트가 입력된 모든 숫자의 대략적인 평균을 계산합니다.

위의 스크립트가 실행되면 출력은 다음과 같습니다.

Bash에서 명령줄 인수 읽기

bash에서는 루프를 사용하여 단일 명령줄 인수를 읽을 수 있습니다. 스크립트는 형식이 지정된 인수 값을 인쇄합니다. 다음 스크립트에서 while 루프를 사용하여 bash에서 명령줄 인수를 실행합니다. 이를 통해 단일 명령의 도움으로 인수 값 유효한 옵션을 전달하는 값을 인쇄합니다.

#!/빈/배시
동안 getopts N:F:M: OPT
하다
사례 ' ${OPT} '
안에
N ) 이름 = ${OPTARG} ;;
에프 ) 아버지의 이름 = ${OPTARG} ;;
) 엄마 이름 = ${OPTARG} ;;
* ) 에코 '유효하지 않은'
출구 1 ;;
에삭
완료
printf '이름: $이름 \N 아버지의 이름: $아버지 이름 \N 엄마 이름: $mothername \N '

따라서 bash에서 위의 스크립트를 실행하여 형식이 지정된 인수 값을 출력에 인쇄할 수 있습니다.

마무리

이것이 여러분이 배울 수 있는 10가지 멋지고 멋진 bash 루프 예제에 대한 간략한 정보였습니다. 대화식 스크립트를 쉽게 만들기 위해 다양한 유형의 루프를 사용했습니다. 또한 위의 예에서 사용된 기본 접근 방식도 설명했습니다. bash의 루프에 대한 자세한 정보가 있는 경우 공식 웹 사이트를 방문하여 자세히 알아보십시오.