BASH CLIインタフェースを簡潔に表現できるツールやマクロプロセッサはありますか?

BASH CLIインタフェースを簡潔に表現できるツールやマクロプロセッサはありますか?

次の定型句CLIパターンを使用してスクリプトを作成しています。

usage(){
  echo "$0 yada yada"
  ...
  echo 
}
for arg in "$@"; do
  case "$arg" in
    '--help|-help') set -- "$@" '-h';;
    ...
  esac
done

OPTIND=1
while getopts 'h...' opt; do
  case "$opt" in
     'h') usage; exit 0;;
      ...
  esac
done
shift $((OPTIND-1))

他のツール(おそらく追加の依存関係)を使用してLinuxのBASHでそれらを圧縮またはカプセル化する方法はありますか?

関連情報