2012-09-22

case文のインデント

指針

case 文の使用方法 - UNIX & Linux コマンド・シェルスクリプト リファレンス: http://shellscript.sunone.me/case.html

選択肢

case文のスタイルはいろいろな選択肢がある。 特にシェルスクリプトではセミコロンが付く分、選択肢が多い。

  1. パターンと処理の間を改行するか
  2. 処理とセミコロンの間を改行するか
  3. case宣言とパターンの間をインデントするか

1. パターンと処理の間を改行するか

1-A

case 値 in
  パターン1 ) 処理1 ;;
  パターン2 ) 処理2 ;;
  パターン3 ) 処理3 ;;
  …
  パターンn ) 処理n ;;
esac

1-B

case 値 in
  パターン1 )
    処理1 ;;
  パターン2 )
    処理2 ;;
  パターン3 )
    処理3 ;;
  …
  パターンn )
    処理n ;;
esac

2. 処理とセミコロンの間を改行するか

2-A

case 値 in
  パターン1 )
    処理1 ;;
  パターン2 )
    処理2 ;;
  パターン3 )
    処理3 ;;
  …
  パターンn )
    処理n ;;
esac

2-B

case 値 in
  パターン1 )
    処理1
    ;;
  パターン2 )
    処理2
    ;;
  パターン3 )
    処理3
    ;;
  …
  パターンn )
    処理n
    ;;
esac

3. case宣言とパターンの間をインデントするか

3-A

case 値 in
  パターン1 )
    処理1
    ;;
  パターン2 )
    処理2
    ;;
  パターン3 )
    処理3
    ;;
  …
  パターンn )
    処理n
    ;;
esac

3-B

case 値 in
パターン1 )
  処理1
  ;;
パターン2 )
  処理2
  ;;
パターン3 )
  処理3
  ;;
…
パターンn )
  処理n
  ;;
esac

私見

  • 個人的には1-B、2-B、3-Bが好み。
  • 1-A〜2-Aまではセミコロン忘れが怖い。
  • 1-A〜3-Aまでは、4タブ以上だと横に長くなってしまう。
    • ただ、2タブなら3-Aでもいいと思っている。