공룡호가 사는 세상 이야기

지난 달 Part 3 에서는 grep, sed, awk 와 같은 명령행 도구의 필터들을 소개했었다. Part 4 에서는 셸 스크립트 기교에 대해서 소개한다. 셸 명령 실행, 산술연산/진법변환, 대화형 셸 스크립트의 기본이 되는 인라인 입력이나 키보드 입력, 루프 등에 대해서 다룬다. 본 셸이 기본 조건이긴 하나 배시 셸도 관계없다.

거두절미하고 아주 짧은 셸 코드 하나를 보자.
for i in ??; { mv $i $i.ppm; }

위 코드는 현재 디렉토리의 파일 이름이 정확히 2글자인 모든 파일의 확장자를 .ppm 으로 변경한다.
i는 파일이며 ??는 파일의 글자 수이다. 루프 내는 for문의 조건이 만족되는 경우 $i를 $i.ppm으로 변경하는 간단한 코드이다. 하나 더 보자.

#!/bin/sh
# baseconv: 진법을 변환하는 간단한 스크립트
#
NUMBER=1
while [ $NUMBER ]; do
    read -p "Input base: " IN
    read -p "Output base: " OUT
    read -p "Number: " NUMBER
    bc -ql <<- EOF
  obase=$OUT
  ibase=$IN
  $NUMBER
  EOF
done

위 코드는 숫자를 입력 진법에서 출력 진법으로 변환한다. 간단하다. 튜토리얼에 모두 설명된 부분.
이번 튜토리얼은 일전에 몇 번 소개되었던 셸 스크립트 관련 아티클에 비해 자세하다. 일전의 아티클을 먼저 읽어 보는 것도 좋을 것 같다. 셸 스크립트의 강력함은 말로 다 할 수 없다. 배워봅시다.~
유용한 인라인 셸 코드들도 존재하니 많은 참고가 되겠다.

원문 : http://www.ibm.com/developerworks/kr/library/tutorial/au-unixtips4/index.html