Home

제어 구문 예제_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 # 무한 반복 시작...

Read more

제어 구문 예제_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) #-----------------------...

Read more

제어 구문 예제_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...

Read more

쉘기능을 자유자재로 다루기_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...

Read more

쉘기능을 자유자재로 다루기_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...

Read more

쉘기능을 자유자재로 다루기_10 여러 URL 파일을 동시에 병렬로 내려받기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: curl 키워드: 백그라운드, 병렬 처리, 내려받기 사용처: 대기 시간이 있는 명령어가 많아서 병렬로 실행해 전체 실행 시간을 줄이고 싶을 때 실행예제 $ ./background-download.sh $ <-------------------------- 파일 내려받기 완료를 기다리지 않고 바로 셸에 제어가 들어옴 스크립트 #!/bin/sh # 병렬로 여러 사이트에서 내려받기 # 각각 백그라운드에서 처리 curl -sO http://www.example.org/download/bigfile.dat &...

Read more

쉘기능을 자유자재로 다루기_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이 아니라면 # 스크립트를 바로 ...

Read more