コーディング・スタイル †
- ヘッダを記載する
- ヘッダの直後に基本的な環境変数を定義する
- umask
- LANG
- PATH
- インデントは半角スペース2つ
- | は前後にスペース1つ
- >、>>は前にスペース1つ、後ろは空けない
- <、<<も前にスペース1つ、後ろは空けない
- ifとthenは同一行に、セミコロンの直後はスペース1つ
- for、whileのdoとdoneは行頭を揃える
- 関数定義のfunctionは省略してもよい(しなくてもよい)
- if文を省略しない
- 連続した同一ファイルへのリダイレクトはグルーピング
- 変数の命名規則
- 定数は大文字
- 定数以外は小文字
- 複数の単語を連結する場合は「_」で結合する
- readonly宣言を付けて、読み取り専用にすることを推奨
- ファイル/ディレクトリの絶対パスの場合は、HOGE_FILEまたはFUGA_DIR
- ファイル名またはディレクトリ名のみの場合は、HOGE_FILENAMEまたはFUGA_DIRNAME
- 今後増える見込みのない少ない繰り返しはループしない
- 正常終了時はリターンコード0
- 異常終了時はリターンコード0以外
- ログレベル
- INFO: 参考情報
- NOTICE: 注意レベル
- WARNING: 警告レベル、処理を中断しないスキップ程度の問題
- ERROR: エラー、処理を中断するレベルの問題
参考リンク †
- シェルスクリプト Tips http://shellscript.sunone.me/tips.html