私は3つの主要なステップでいくつかのタスクを実行するスクリプトを持っています。すべてのステップはいくつかの追加の引数を必要とするかもしれませんが、どのステップが選択されたかに応じて、これらは変わる可能ユーザーはいくつかのステップのみを実行することができますが、すべての組み合わせがサポートされているわけではありません。私はスクリプトを呼び出すことができる簡潔な方法でそれを行うすべての可能な方法についてユーザーに知らせたいと思います。複雑なスクリプトで使用上の注意を指定する方法は?
私の心に来るだけ(すなわち、正しい表記を使用して、すべての可能性を指定する)正しい方法は、すべて別々の行に明示的変異体は述べている:
./script -p [-d <arg>]
./script -u -d <arg>
./script -r -e <arg> -f <arg> -g|(-h <arg> -i <arg>)
./script -pu [-d <arg>]
./script -ur -d <arg> -e <arg> -f <arg> -g|(-h <arg> -i <arg>)
./script -pur [-d <arg>] -e <arg> -f <arg> -g|(-h <arg> -i <arg>)
しかし、これはかなり冗長です。さらに悪いことに、スクリプトに別のステップを追加すると、そのステップのすべての組み合わせをリストする必要があります。
私がこれにアプローチできるもう一つの方法は、すべての引数をオプションとしてリストすることです(引数はすべての手順で必須ではないため)が、もちろんこれは間違っています(単一の引数は常に必須ではありませんが、提供一部の引数があることが必要です。?率直に言って
./script [-p] [-u] [-r] [-d <arg>] [-e <arg>] [-f <arg>] [-g|(-h <arg> -i <arg>)]
、私は悪いことである1かわからないので、どのように私は、可能な場合、一般的に提案してください、私の使用上の注意を書いて、することをお勧めします複数のオプションを持つ多くのスクリプトには、この種の問題があります。
あなたはpacman'のアプローチ 'に手の込んだでした私は pacman documentationのスタイルを好みます?私はそのツールを知らないし、そのドキュメントの背後にあるアイデアが何であるかはっきりしていない。誰か**私のコメントの削除を中止します**。 – NPS