- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- JSP
- 그라파나
- synology
- GPIO
- 네트워크
- Java
- System
- Tkinter
- 리눅스
- RaspberryPi
- 쉘 스크립트 if문
- Linux
- 메소드
- API
- Python
- GUI
- nginx
- centos docker
- Shell script
- 프로젝트
- 클라우드
- Android
- 쉘 스크립트
- 라즈베리파이
- ACL
- 쉘 스크립트 기초
- LEVIATHAN
- docker
- 안드로이드
- Today
- Total
IT창고
쉘 스크립트 while문 본문
이번에는 while문에 대해 알아보도록 하겠습니다.
while문은 정의한 명령어를 반복하며 종료상태를 받으면 반복을 중단합니다. 이렇게 보면 for문이 생각나는데 if문과도 비슷한 점이 존재합니다
while 조건문
do
수행할 조건 및 명령어
~
done
while문 구문 예시는 위와 같습니다 for문과 같이 루프를 하며 동시에 if문처럼 조건문을 사용하게 됩니다.
간단한 while문 쉘 스크립트를 확인해보도록 하겠습니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!/bin/bash
gsk=100
while [ $gsk -gt 90 ]
do
echo $gsk
gsk=$[ $gsk - 1 ]
done
while문에 조건으로 gsk 변수 값이 90이면 루프가 중지되는 쉘 스크립트 입니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!/bin/bash
while [ `ps -ef | grep -v grep | grep httpd | head -1 | wc -l` -eq 0 ]
do
echo "Apache 프로세스가 동작하면 스크립트가 중지 됩니다."
echo ""
sleep 2
if [ `ps -ef | grep -v grep | grep httpd | head -1 | wc -l` -eq 1 ]; then
echo "Apache 프로세스가 동작 합니다!"
fi
done
while문은 보통 산술식과 함께해서 자주 사용됩니다 위의 사진은 이러한걸 응용해서 Apache 프로세스 작동을 감시하는 스크립트를 만들어 보았습니다. Apache 프로세스가 구동되지 않을 경우 2초 간격으로 미작동 echo문을 출력해주며 작동할 경우 작동중 메세지를 한번 출력됨과 동시에 while문 루프가 끝나게 됩니다.
마지막으로 until문에 대해 알아보겠습니다
while문과 같지만 차이점은 while문과는 반대로 조건문이 참이면 루프가 종료 됩니다.
간단하게 스크립트를 직접 실행해서 확인해보도록 하겠습니다.
위의 사진과 같은 결과는 아래의 소스코드에서 확인 가능한 쉘 스크립트로 만들어졌습니다.
#!/bin/bash
until [ `ps -ef | grep -v grep | grep httpd | head -1 | wc -l` -eq 1 ]
do
echo "Apache 프로세스가 동작하면 스크립트가 중지 됩니다."
echo ""
sleep 2
if [ `ps -ef | grep -v grep | grep httpd | head -1 | wc -l` -eq 1 ]; then
echo "Apache 프로세스가 동작 합니다!"
fi
done
2번쨰로 만든 스크립트와 비교하면 그저 while문 대신 until로 바꾸고 조건식을 1로 바꾸었을 뿐 입니다.
while, until 큰 차이는 없으므로 쉘 스크립트 제작 시 편한걸로 사용하면 됩니다.
'프로그래밍 > Shell Script' 카테고리의 다른 글
쉘 스크립트 for문 (0) | 2020.11.03 |
---|---|
쉘 스크립트 if문 3 (0) | 2020.10.19 |
쉘 스크립트 if문 2 (0) | 2020.10.17 |
쉘 스크립트 if문 1 (0) | 2020.10.10 |
쉘 스크립트 기초 2 (0) | 2020.10.07 |