Last active
November 10, 2024 20:01
-
-
Save i97506051502/76996d730b04f0e711e39e36644bd3c6 to your computer and use it in GitHub Desktop.
いまいちよく分かっていない getopt に関するメモ.環境変数 GETOPT_COMPATIBLE がセットされている場合どんな動きになるのか? メリット・デメリットは? などなど.書きかけ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 下記,よくできた bash マニュアルだと思っていたら,JP1/Advanced Shell というもののマニュアルだった... bash のマニュアルを確認していないので以下はデタラメかもです. | |
# | |
# 参考 | |
# | |
# getoptコマンド(コマンドラインのオプションを解析する) : JP1/Advanced Shell http://itdoc.hitachi.co.jp/manuals/3021/3021313330/JPAS0337.HTM | |
# 形式1 | |
# | |
# 条件 (OR) | |
# - 引数の最初のパラメーターが「-」で始まっていない場合 | |
# - 環境変数GETOPT_COMPATIBLEが設定されている場合 | |
# | |
# コマンド形式 | |
# - getopt 解析するオプション 解析される引数 | |
# | |
# メモ | |
# - 一番単純なのでは? ただし getopt のオプションを利用できない. | |
# | |
# 形式2 | |
# | |
# 条件 (OR) | |
# - 形式1の条件に合致しない. | |
# - -o オプションが指定されていない. | |
# | |
# コマンド形式 | |
# - getopt [オプション] [--] 解析するオプション 解析される引数 | |
# | |
# メモ | |
# - ショートオプションはいらないが,getopt のオプションを使用したい場合にこれ? | |
# | |
# 形式3 | |
# | |
# 条件 (OR) | |
# - 形式1の条件に合致しない. | |
# - -o オプションが指定されている. | |
# | |
# コマンド形式 | |
# - getopt [オプション] -o 解析するショートオプション名 [オプション] [--] 解析される引数 | |
# | |
# メモ | |
# - ショートオプションを使用したい場合,形式3のみが選択肢となる. | |
# 形式1 | |
OPT=`getopt help,list:,protocol:,region:,service: "$@"` | |
# 形式2 | |
OPT=`getopt -- help,list:,protocol:,region:,service: "$@"` | |
# 形式3 | |
OPT=`getopt -o hl:p:r:s: --long help,list:,protocol:,region:,service: -- "$@"` | |
if [ ${?} != 0 ] ; then | |
echo 'Error !!' | |
fi | |
eval set -- "${OPT}" | |
echo "${OPT}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment