Home

bash_07 파이프 처리로 각 명령어 종료 상태값 조사하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: echo 키워드: 파이프, 종료 스테이터스 사용처: 파이프 처리 중에 어떤 명령어 종료 스테이터스를 확인해서 명령어의 성공/실패를 판단하고 싶을 때 실행예제 $ ./pipestatus.sh [ERROR] sort-data.sh에 실패했습니다. 스크립트 #!/bin/bash # 다음과 같은 처리를 하는 경우를 가정 # script.sh : 데이터 출력 # sort-data.sh : 데이터 정렬 # calc.sh : 출력 데이터 계산 ./script.sh | ./sort-data.sh | ./calc.sh >...

Read more

bash_06 중간 파일 없이 명령어 출력을 파일처럼 다루기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: comm 키워드: 프로세스 치환, 이름 파이프, FIFO 사용처: 중간 파일을 만들지 않고 명령어 출력 결과를 그대로 파일처럼 다루고 싶을 때 실행예제 $ ./process-subst.sh app.log.20140201 app.log.20140202 app.log.20140203 app.log.20140204 app.log.20140205 myapp obj.conf obj.conf는 dir1에만 있고 app.log.201...

Read more

bash_05 변수 내부 문자열 일부를 치환하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: echo 키워드: 파라미터 확장, 문자열, 치환, sed 사용처: 변수 내부 문자열을 sed 명령어를 사용하지 않고 치환하고 싶을 때 실행예제 $ ./bash-where.sh perl /opt/local/bin/perl /usr/bin/perl 스크립트 #!/bin/bash # 조사할 명령어 얻기 command="$1" #------------------------------------------ 1 # 인수 확인 if [ -z "$command" ]; then #-------------------------...

Read more

bash_04 변수 내부 문자열을 n 번째부터 m 번째까지 추출하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: read, echo 키워드: 문자열, 일부, 추출 사용처: ID 목록 파일에서 지정한 ID 패턴만 추출하고 싶을 때 실행예제 $ ./bash-substr.sh id.lst AC38421021 0 AC98102495 1 (ID 첫 문자가 "AC"인 것만 표시됨) 스크립트 #!/bin/bash # 지정한 ID 파일에서 $id $status를 한 줄씩 # read 명령어로 읽어들임 while read id status #------------------- 1 do # 셀 변수 id 첫 두 글자가 AC인지 확인 ...

Read more

bash_03 사칙 연산을 간단하게 작성하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: echo 키워드: 산술식, 산술 확장, 산술 평가 사용처: expr 명령어를 사용하지 않고 산술식을 계산한 결과를 얻고 싶을 때 실행예제 $ ./bash-arithmetic.sh 1.txt에서 100.txt 까지 100개의 파일이 작성됨 스크립트 #!/bin/bash # 브레이스 확장으로 1에서 100까지 숫자 목록 생성 for i in {1..100} #---------------------------- 1 do # 산술 확장을 이용해서 파일명에 3을 곱해서 계산한 # 값을 텍스트 파일에 저장 ec...

Read more

bash_02 for 반복문을 간단히 작성하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: ping, echo 키워드: 브레이스 확장, bash 사용처: IP 주소 목록 등을 브레이스 확장으로 간단히 작성하고 싶을 때 실행예제 $ ./bash-brace.sh [OK] Ping -> 192.168.2.1 [OK] Ping -> 192.168.2.2 [OK] Ping -> 192.168.2.3 [OK] Ping -> 192.168.2.4 [OK] Ping -> 192.168.2.5 스크립트 #!/bin/bash # bash 브레이스 확장 {}으로 IP 주소 목록 작성 for ipa...

Read more

셸 스크립트를 sh로 작성할까? bash로 작성할까?

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 셸 스크립트를 작성할 때는 이식성과 호환성을 고려해서 /bin/sh가 널리 사용됩니다. 하지만 sh는 역사가 긴 셸인 반면, 수치 계산에 외부명령어가 필요하다는 단점이 있고 현대적인 프로그래밍 역시 어려운 것이 사실입니다. 따라서 bash로 셸 스크립트를 작성하는 것을 선호하는 층도 최근에는 늘고 있습니다. bash로 셸 스크립트를 작성하는 장점은 단순히 프로그래밍 하기 쉽다는 것도 있지만 이식성과 호환성이 오히려 sh보다 낫다는 의견도 있습니다. 예를 들어 같은 리눅스라도 CentOS 등은 /bin/sh를 bash로 대신하는 반면 우분투는 dash라는 ...

Read more