BASH for Loop 사용 방법



문제를 제거하기 위해 도구를 사용해보십시오

bash 스크립트를 작성할 때 가장 기본적인 트릭 중 하나는 특정 작업을 여러 번 자동으로 실행할 수 있도록 루프를 만드는 것입니다. 결국 루프는 미리 결정된 테스트 조건에 도달하고 갑자기 실행을 중단합니다. 이와 같은 루프는 Linux 및 macOS의 bash뿐만 아니라 Windows 10의 bash 셸 및 FreeBSD의 다양한 셸에서도 완벽하게 작동합니다. 당연히 루프에서 원하는 명령을 작성하고 원하는 시간 동안 프로세스를 계속 진행할 수 있습니다. 매우 간단한 루프를 작성하는 동안 이러한 기술을 사용하여 원하는 모든 종류의 스크립트를 작성할 수 있습니다.



스크립트 작성을 시작하는 방법은 여러 가지가 있지만이 토론에서는 Dash에서 터미널을 검색하거나 KDE, MATE, LX 또는 Whisker 메뉴에서 클릭하여 명령 프롬프트를 연 것으로 가정합니다. Ctrl, Alt 및 T를 동시에 누릅니다. 편집자로서 vi / vim 및 nano에 대해 논의 할 것이지만, 어떤 편집기를 사용할 것인지에 대한 문제는 매우 개인적이며 편하게 느끼는 모든 작업을 수행 할 수 있습니다.



방법 1 : until 루프

아마도 bash에서 가장 기본적인 루프는 until 루프 일 것입니다. 설정 한 테스트 조건이 참이 될 때까지 명령을 계속 실행합니다. nano 또는 vi를 사용하여 until.sh라는 존재하지 않는 파일을 열고 여기에 새 텍스트를 삽입 할 준비가되었다고 가정합니다. 처음에는 쉽게 할 수 있도록 터미널에서 20까지 세는 것을 만들 것입니다.



다음을 입력하여 시작하십시오.

#! / bin / bash

n = 0



[$ n -gt 20]까지

하다

에코 $ n

((n ++))

끝난

nano를 사용하는 경우 Ctrl 키를 누른 상태에서 O를 누르고 마지막으로 X를 눌러 저장합니다. vi 사용자는 이스케이프를 누른 다음 : wq를 입력하여 저장하고 종료합니다.

다음 유형 chmod + x untilLoop 프롬프트에서 실행 가능하게 만들고 다음을 입력하십시오. ./untilLoop 그것을 실행합니다. 실행되면 루프는 n 변수가 20이 될 때까지 터미널에 새 숫자를 계속 인쇄합니다.

그런데 첫 번째 줄은 이러한 스크립트로 작업 할 때로드 할 쉘을 환경에 알려줍니다. 일부 프로그래머는 스크립트가 특정 POSIX 표준을 준수하는지 확인하기 위해 #! / bin / sh 만 사용하도록 권장하지만 이러한 간단한 스크립트는 대부분의 최신 시스템에서 실행되는 데 문제가 없어야합니다.

방법 2 : for 루프

for 루프는 주어진 목록의 모든 항목을 살펴본 다음 해당 목록에서 주어진 명령 집합을 수행합니다. 일부 운영 체제 이름을 인쇄하는 이름을 만들 겠지만 원하는 경우이 작업으로 무엇이든 할 수 있다는 점을 다시 한 번 명심하십시오.

다음 중 하나를 입력하십시오. 나노 forLoop 또는 우리 forLoop 명령 프롬프트에서 다음 스크립트 입력을 시작하십시오. vi 사용자는 삽입 모드로 들어가야합니다.

#! / bin / bash

unices =’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix’

$ unices의 유닉스 용

하다

에코 $ unix

끝난

명령을 실행하기 전에 nano에서 Ctrl + O를 누른 다음 Ctrl + X 방법을 사용하거나 vi에서 Esc를 누른 다음 : wq 방법을 사용하여 파일을 다시 저장하십시오. chmod + x forLoop 실행 가능하게 만듭니다. 일단 당신이 입력하여 실행 ./forLoop 프롬프트에서. for 루프는 echo 명령이 unices 변수의 각 항목에 대해 차례로 작동하도록합니다. 다시 한 번 해당 목록을 임의의 인수로 바꾸고 echo를 임의의 명령으로 대체하여 긴 프로세스를 자동화 할 수 있습니다.

방법 3 : while 루프

nano, vi 또는 사용하려는 다른 편집기를 사용하여 whileLoop이라는 세 번째 파일 편집을 시작합니다. 그래픽 텍스트 편집기를 사용하고 싶다면 명령 프롬프트 내부에서 작업중인 디렉토리와 동일한 디렉토리에 파일을 저장하는 한 이러한 프로젝트에서도 실제로 그렇게 할 수 있습니다. .

이 파일 안에 다음 줄을 추가 할 수 있습니다.

#! / bin / bash

n = 0

동안 [$ n -le 20]

하다

에코 $ n

((n ++))

끝난

다른 파일을 저장 한 것과 같은 방법으로 파일을 저장 한 다음 텍스트 편집기를 종료합니다. 종료하면 다음 명령을 실행하십시오. chmod + x whileLoop 당신이 그것을 실행하고 실행할 수 있도록 ./whileLoop 그것을 실행합니다. 첫 번째 방법의 untilLoop 스크립트에서 나온 것과 동일한 출력이 표시 될 것입니다. 1 초에 0에서 20까지 계산하기 때문입니다.

이것은 이러한 방식으로 루프로 작업 할 때마다 작업을 수행 할 수있는 방법이 여러 가지 있다는 사실을 보여주는 훌륭한 데모입니다. 기술적으로 잘못된 방법은 없지만 C 프로그래밍 언어가 작업을 수행하는 방식에 더 가깝게 스크립트를 작성해야한다고 주장하는 스크립트 작성자를 접하게 될 것입니다. 다른 사람들은이 작업을하지 말라고 제안 할 수도 있습니다. 솔직히 문제를 해결하는 올바른 방법이 많이있을 것입니다.

연습을 마치면 스크립트를 자유롭게 삭제하십시오.

3 분 읽기