Aug11th

シェル/コーディング規約

Top / シェル / コーディング規約

コーディング・スタイル

  • ヘッダを記載する
  • ヘッダの直後に基本的な環境変数を定義する
    • 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: エラー、処理を中断するレベルの問題

参考リンク