やりたいこと
引数に--help
または-h
が指定された場合にヘルプを出力したい。
尚、表示する内容はシェルスクリプトの中で先頭に#付きのコメント行として記載されていると仮定。具体的には以下ルールとする。
# test → 出力する #test → 出力しない ## test → 出力しない
環境情報
$ bash --version GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
やり方
シェルスクリプトの任意の箇所に以下を挿入させる。
if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ -z "$1" ]; then cat $0 | grep '^\s*#' |grep -v '^\s*#!' | sed -e "s/^# //g" | grep -v '^\s*#' fi
尚、コメント行のルールは下記を編集することで任意に変更可能。
sed -e "s/^# //g" | grep -v '^\s*#'
以下。補足です。
補足
ヘルプの表示機能を簡易的に実装しました。
例えば引数毎に以下のように説明を記載すれば
if [ "$1" = "-a" ]; then # -a Display date ...
スクリプトを実行すればコメントが情報として表示されます。
$ ./test.sh --help -a Display date
以上です。