1. ホーム
  2. unix

[解決済み] シェルスクリプトにヘルプメソッドを追加するにはどうすればよいですか?

2022-05-04 07:47:52

質問

を確認するにはどうすればよいですか? -h 属性がシェルスクリプトに渡されましたか? を呼び出したときに、ヘルプメッセージを表示させたいのですが。 myscript.sh -h .

解決方法は?

これはbashの例です。

usage="$(basename "$0") [-h] [-s n] -- program to calculate the answer to life, the universe and everything

where:
    -h  show this help text
    -s  set the seed value (default: 42)"

seed=42
while getopts ':hs:' option; do
  case "$option" in
    h) echo "$usage"
       exit
       ;;
    s) seed=$OPTARG
       ;;
    :) printf "missing argument for -%s\n" "$OPTARG" >&2
       echo "$usage" >&2
       exit 1
       ;;
   \?) printf "illegal option: -%s\n" "$OPTARG" >&2
       echo "$usage" >&2
       exit 1
       ;;
  esac
done
shift $((OPTIND - 1))

関数内で使用する場合。

  • 使用 "$FUNCNAME" の代わりに $(basename "$0")
  • 追加 local OPTIND OPTARG を呼び出す前に getopts