shargsの解説

  • 15行目〜23行目:引数の定義。後述する「shargsの使い方」にあるように、shargsを呼び出すメインのシェルスクリプトで定義されている場合は、その定義を使用する。shargsを組み込んで使う場合はここの定義を適宜変更して使う。
  • 35行目〜49行目:引数の定義に間違いが無いか確認している。
    • 35行目〜44行目:引数の名前の文字として"a-z"、"A-Z"、"0-9"、"_"(アンダースコア)だけが利用できる。
    • 46行目〜49行目:出現順引数の必須の数と出現順引数の名前リストの要素数を確認している。「必須の数 >= 名前リストの要素数」でなければならない。
  • 57行目以降:引数の定義にエラーがなければ以降が処理の本体となる。
  • 57行目〜118行目:引数の読み込み処理。
    • 59行目〜79行目:単語型オプションの処理、61行目〜66行目は単語型バリューオプション、68行目〜72行目は単語型フラグオプションの処理
    • 80行目〜105行目:文字型オプションの処理。85行目〜90行目は文字型バリューオプション、92行目〜95行目は文字型フラグオプションの処理。
    • 106行目〜114行目:出現順引数の処理。
  • 124行目〜164行目:Usageメッセージの生成。
  • 168行目〜173行目:任意選択によるUsageメッセージの出力。
  • 179行目〜180行目:不必要なシェル変数のクリア。