1

boost::program_optionsはc++から、ユーザーフレンドリーなコマンドラインオプションをほとんど短時間で記述できることを知っています。「ユーザーフレンドリー」とは、短いオプションと長いオプション、および次のような説明的なヘルプコマンドを意味します。

Copy standard input to each FILE, and also to standard output.

  -a, --append              append to the given FILEs, do not overwrite
  -i, --ignore-interrupts   ignore interrupt signals
      --help     display this help and exit
      --version  output version information and exit

私自身にとって、これは、組み込みのgetopts短いオプションのみをサポートしているため、bashでは本当に厄介であることに気づかなければなりませんでした。これは正しいですか、それとも私は間違っていますか?

ユーザーフレンドリーなコマンドラインオプションをどのように実装しますか?リンク、ベストプラクティス、または詳細なチュートリアルをご存知の場合は、ぜひお知らせください。

4

2 に答える 2

1

GNU getoptは長いオプションをサポートしており、Bourneのようなシェルまたはcshのようなシェルから使用できます。ksh93の組み込みgetoptsは、長いオプションもサポートしています。zshにはzparseoptsがあります。

http://stchaz.free.fr/getopts_long.shには、長いオプションをサポートするgetoptsのPOSIXシェル実装(シェル関数として)があります。

于 2012-08-30T09:39:25.093 に答える
0

正しい情報源を教えていただきありがとうございます。

https://github.com/Mythli/tech/blob/master/bash/getopt.sh コードは非常に単純なので、説明は必要ありません。

于 2012-09-12T17:32:04.033 に答える