제어 구문 예제_03 강제 종료될 때까지 파일 내려받기를 반복해 통신 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: true, curl, sleep
키워드: 무한 반복, 접속 확인, 내려받기
사용처: 웹 서버 확인을 계속 반복하고 싶을 때
실행예제
$ ./download-loop.sh
[check OK]
[check OK]
[check OK]
[check OK]
[check OK]
^C <------------------ Ctrl + C 키를 입력할 때까지 계속 실행
스크립트
#!/bin/sh
# 확인 대상 URL
url=http://192.168.22.1/webapl/check #-------- 1
# 무한 반복 시작...
제어 구문 예제_02 연속된 파일명을 가진 URL을 자동 생성해서 순서대로 내려받기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: seq, printf, curl
키워드: 연속번호, URL, 내려받기
사용처: 파일명에 연속한 번호가 있는 그림 파일을 웹 서버에서 자동으로 내려받고 싶을 때
실행예제
$ ./number-file.sh <------ URL을 자동 생성해서 내려받기함
스크립트
#!/bin/sh
url_template=http://www.example.org/download/img_%03d.jpg #--- 1
# seq 명령어로 연속 번호 생성
for i in $(seq 10) #-----------------------...
제어 구문 예제_01 변수가 포함된 IP 주소 목록 파일을 읽어서 ping 명령어로 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: sed, ping
키워드: for문, 템플릿 파일, 치환, 변수
사용처: 템플릿 파일을 사용해서 네트워크 개통을 확인하고 싶을 때
실행예제
$ cat ping_target.lst <------------- 템플릿 파일
%ADDR_HEAD%.1
%ADDR_HEAD%.2
%ADDR_HEAD%.3
%ADDR_HEAD%.4
$ ./for_command.sh 192.168.2
[Success] ping -> 192.168.2.1
[Success] ping -> 192.168.2.2
[Failed] ping -> 1...
쉘기능을 자유자재로 다루기_12 셸 스크립트 일부에 Perl이나 Ruby 사용하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: perl, nc, sleep
키워드: 한 줄 명령어, 펄, 루비, 난수
사용처: 난수 생성 등 셸 스크립트 기능 일부로 펄이나 루비 코드를 사용하고 싶을 때
실행예제
$ ./perl-oneline.sh
Connection to 192.168.2.1 80 port [tcp/http] succeeded!
Wait: 4 sec
Connection to 192.168.2.1 80 port [tcp/http] succeeded!
스크립트
#!/bin/sh
# 테스트 통신할 서버 정의
ipaddr="192.168.2.1"
p...
쉘기능을 자유자재로 다루기_11 여러 호스트에 병렬로 ping을 날려서 대기 시간 줄이기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: ping, wait, cat
키워드: 병렬 처리, 동기, 종료
사용처: 여러 호스트에 ping 명령어를 실행하는 대기 시간을 줄이고자 병렬로 백그라운드 실행시키고 명령어 종료를 동기화해서 결과를 순서대로 출력하고 싶을 때
실행예제
$ ./background-wait.sh
PING 192.168.2.1 (192.168.2.1): 56 data bytes
64 bytes from 192.168.2.1: icmp_seq=0 ttl=255 time=3.554 ms
64 bytes from 192.168.2.1: icmp_seq=0 tt...
쉘기능을 자유자재로 다루기_10 여러 URL 파일을 동시에 병렬로 내려받기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: curl
키워드: 백그라운드, 병렬 처리, 내려받기
사용처: 대기 시간이 있는 명령어가 많아서 병렬로 실행해 전체 실행 시간을 줄이고 싶을 때
실행예제
$ ./background-download.sh
$ <-------------------------- 파일 내려받기 완료를 기다리지 않고 바로 셸에 제어가 들어옴
스크립트
#!/bin/sh
# 병렬로 여러 사이트에서 내려받기
# 각각 백그라운드에서 처리
curl -sO http://www.example.org/download/bigfile.dat &...
쉘기능을 자유자재로 다루기_09 명령어가 실패한 시점에 종료해 스크립트 오작동 방지하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: set, cd, rm
키워드: 종료 스테이터스, 명령어, 실패, 정지
사용처: 어떤 중요한 처리를 하는 스크립트에서 도중에 명령어가 하나라도 실패하면 거기서 정지하고 싶을 때
실행예제
$ ./set-e.sh
./set-e.sh: line 12: cd: /var/log/myapp-: No Such file or directory
$ ls
set-e.sh test.log (test.log가 남아 있음)
스크립트
#!/bin/sh
# 명령어 종료 스테이터스가 0이 아니라면
# 스크립트를 바로 ...
173 post articles, 25 pages.