.sh のテンプレート

日記系のブログなので、タイトル的になんのこっちゃ…と思う人の多そうなネタ。
自分で使うシェルスクリプトのテンプレートを備忘として書いておく。

#!/bin/bash
################################################################################
#
# Script name : xxx.sh                 (スクリプト名)
# Purpose     : Sample                 (シェルスクリプトの目的)
# Copyright   : KuroNeko666            (著作権者)
# Create      : YYYY.MM.DD / xxx       (作成日 / 作成者)
# Modify      : YYYY.MM.DD / xxx / xxx (修正日 / 修正者 / 修正内容)
# Usage       : xxx.sh [-x|-y] <hogehoge> (コマンドとしての使い方)
#
################################################################################
ID=xxx

### Parameter - 変数
declare -i RV
RV=0
LogFile=./${ID}-$$.txt

### Function - 関数
logput() {
	#logger -i -t ${ID} $*
	echo "`date +'%Y/%m/%d %H:%M:%S'`, $*" >> ${LogFile}
}

### Main script - 主処理
logput "${ID} Script START"


### End script - 終了処理
logput "${ID} Script END"
exit ${RV}


こんな感じ。
シェルスクリプトの性格上、そんなに複雑なモンは作らないのでこれで十分。


関数 logput は、自分で書くとき良く使う。
テンプレートに入れてる起動の開始と終了時以外にも、デバッグしたいところとか、進捗状況をみたいところとか。
変数 LogFile に設定したファイル名でログができる。


あと #logger を logger に修正(要は#を削除)すると(CentOS5.2だと) /var/log/messages に出力される。




日本語部分は消したほうが無難かな。
RedhatLinux…というか bash で問題になったことはないけど。