더북(TheBook)

변수뿐만 아니라 흐름 제어도 사용 가능하다. 다른 프로그래밍 언어처럼 if 조건문을 사용할 수 있다. tail 결과를 30줄 이상 출력하지 못하도록 제한해 보자. 대괄호([[ ]]) 안에 조건을 입력하는데 양쪽에 공백이 있어야 하므로 주의해야 한다. [[ "$1" -gt 30 ]]은 $1에 저장된 값을 산술 비교하고 30보다 크면(gt, greater than) 참으로 then 이하를 실행한다. 메시지 too big을 출력한 후 종료 코드 1로 스크립트를 중단한다. 0이 아닌 종료 코드는 비정상 종료를 의미한다. 30보다 크지 않으면 tail 명령을 실행하고 종료 코드 0으로 정상 종료를 알린다.

#!/bin/bash
# /home/supreme/sysloger
# syslog 결과를 파일로 저장 ver06 : 흐름 제어

result=syslogresult`date +%y%m%d`
line="${1:-10}"

if [[ "$1" -gt 30 ]]; then 
  echo "too big" 
  exit 1 
fi

tail /var/log/syslog -n"$line" > "$result"

exit 0 
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.