Home

bash_01 셸 변수를 정수값 같은 속성으로 선언하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: declare, curl 키워드: bash, 변수, 속성, 자료형, 산술 확장 사용처: 셸 변수를 정수값으로 선언해서 자동으로 계산하고 싶을 때 실행예제 $ ./bash-declare.sh URL을 자동 생성해서 내려받기 스크립트 #!/bin/bash url_template="http://www.example.org/download/img_%03d.jpg" # 카운터 변수 count를 정수형으로 선언 declare -i count=0 #----------------------------------...

Read more

변환 처리_12 히어 도큐먼트에서 변수 확장하지 않고 그대로 $str처럼 표시하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: cat 키워드: 히어 도큐먼트, 따옴표, 파라미터 확장, 명령어 치환, 텍스트 사용처: 히어 도큐먼트 본체에 `(그레이브)를 $로 사용하는데 확장하지 않고 그대로 출력하고 싶을 때 실행예제 $ ./here.sh 여기는 히어 도큐먼트 본체입니다. 이 부분에 적힌 문자열은 명령어 표준 출력에 직접 리다이렉트됩니다. 종료 문자열을 작은따옴표 기호로 감싸면 $str이라고 적어도 변수 확장되지 않으며 `echo abc`도 명령어 치환되지 않습니다. 스크립트 #!/bin/sh # 이 변수는 확장되지 않으므로 실제로는 사용되...

Read more

변환 처리_11 미정의 변수를 에러로 처리해서 실수 방지하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: set 키워드: 미정의, 변수, 에러, 빈 문자열 사용처: 스크립트에서 정의 안 된 변수를 사용하면 에러 종료하고 싶을 때 실행예제 ./set-u.sh ./set-u.sh: line 7: COP_DIR: unbound variable 스크립트 #!/bin/sh set -u #------- 1 COPY_DIR=/myapp/work # COPY_DIR이 아니라 COP_DIR이라고 실수했다! cp myapp.log $COP_DIR     해설 이 스크립트는 변수명을 잘못 타이핑해서 미정의 변수를 쓰게 될 때...

Read more

변환 처리_10 명령어 출력 결과를 파일명에 포함해서 그 파일명을 대상으로 명령어를 실행할 때 보기 쉽게 하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: hostname, grep 키워드: 명령어 치환, 끼워넣기, 네스트 사용처: 명령어 치환 처리를 끼워 넣고(네스트) 싶을 때 실행예제 $ ./comsub.sh Error counts: 2 스크립트 #!/bin/sh err_count=$(grep -C "ERROR" /var/log/myapp/$(hostname).log) #--- 1 echo "Error counts: $err_count"     해설 이 스크립트는 hostname 명령어로 파일명을 조합한 로그 파일에서 ERROR라는 문자열을 검색하여 일치...

Read more

변환 처리_09 언더스코어 등을 포함한 문자열에서 변수를 명확하게 구분하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: wc 키워드: 변수명, 문자열, 구분 사용처: 변수명 뒤에 이어진 문자열과 변수명을 명확하게 구분하고 싶을 때 실행예제 $ ./varname.sh 342 20150125_log 스크립트 #!/bin/sh today="20150125" # 셸 변수 today가 확장됨 wc -l ${today}_log     해설 이 스크립트는 20150125_log 라는 로그 파일의 줄 수를 표시합니다. wc 명령어는 파일 문자열과 줄 수를 조사하는 명령어로 -l 옵션을 쓰면 파일 줄 수를 표시합니다. 여기서 파일명이 “셸...

Read more

변환 처리_08 HTML 파일에서 태그 속에 적힌 주석을 추출해서 그대로 실행하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: sed, eval 키워드: 명령어, 변수 확장 사용처: 파일에 적힌 문자열을 추출해서 명령어로 실행하고 싶을 때 실행예제 $ ./eval.sh Sat Jul 4 21:41:24 JST 2015 -rw-rw-r--. 1 user1 user1 11968 Oct 26 12:32 myapp.log 스크립트 #!/bin/sh filename="myapp.log" eval $(sed -n "s/<code>\(.*\)<\/code>/\1/p" command.htm)     해설 이 스크립트는 com...

Read more

변환 처리_07 문자 속 공백문자를 포함한 문자열 변수를 인수로 쓰기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: echo 키워드: 공백문자, 스페이스, 문자열, 큰따옴표 사용처: 공백문자(스페이스)를 포함한 문자열을 한 문장으로 다루고 싶을 때 실행예제 $ ./space-str.sh ERROR: invalid value 스크립트 #!/bin/sh result="invalid value" if [ "$result" = "invalid value" ]; then #--- 1 echo "ERROR: $result" 1>&2 exit 1 fi     해설 이 스크립트는 공백문자를 포함한 문자열을 i...

Read more