BASH getoptsオプションの後の追加パラメータ

BASH getoptsオプションの後の追加パラメータ

-hオプションの後にgetoptsが2つの引数を受け入れるようにするにはどうすればよいですか?私の言葉は配列に保存する必要がありますが、うまくいかない、または次のような間違いをしていることを意味します。 echo "${array[1]} ${array[2]}"

 OPTIND=1 
    hh=
    while getopts "h:" flag
    do
    case "$flag" in
    h)
    hh=($OPTARG)  ;;
   esac
   done
   shift "$((OPTIND-1))"

ベストアンサー1

-h一つの方法は何度も渡すことです。

OPTIND=1 
hh=()
while getopts h: flag; do
  case "$flag" in
    h) hh+=("$OPTARG");;
  esac
done
shift "$((OPTIND-1))"

そしてそれを呼び出す:

myscript -h host1 -h host2...

おすすめ記事