問題タブ [getopts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
298 参照

bash - Bash: getopts - オプションを無視しますか?

でいくつかのスクリプトを用意してgetoptsください。次が含まれます。

しかし-オプションを指定して実行すると-x、次の-cようになりました。

削除する:と、正しく動作します:

私が間違っていることは何ですか?ありがとう。

0 投票する
1 に答える
61 参照

linux - シェルですべてのオプションを収集する

収集したすべてのオプションを転送して、シェル スクリプトの別のコマンドで使用しようとしています。

たとえば、スクリプトが次のように実行された場合:

マスターで

  1. getopts は.:o.:t.:k.:r(r は現在の実行では使用されていません)
  2. 別のスクリプトを実行し、使用されるすべてのオプションを内部スクリプトに使用する必要があります

すべての ( -o -t -k) またはその他のオプションの組み合わせエントリを使用したい - どうすればよいですか?

0 投票する
1 に答える
243 参照

bash - Bash で getopts に受け入れられない引数のリストを生成するにはどうすればよいですか?

オプション文字列 ":a:b" を使用して Bash スクリプトを実行getoptsしていて、次のコマンド ライン パラメーターを指定するとします。

「foo」のインスタンスは、オプションの予期される引数ですがa、オプションbには予期される引数がありません。ただし、「bar」のインスタンスと「zappo」のインスタンスの両方は、 では受け入れられませんgetopts。を実行した後getopts、受け入れられないすべての引数のリストを含む変数をエコーするにはどうすればよいですか? 「bar bar zappo」というリストを作成するにはどうすればよいですか? ありがとう!

便利なコードを次に示します。

0 投票する
2 に答える
1133 参照

bash - Bashでgetoptsを使用して、非オプションの引数をオプションの引数の前に置く方法は?

Bash で getopts を使用してオプションの引数を処理する方法を知っています

しかし、スクリプトで が必要な場合、 arg1 をスキップする./script.sh arg1 [options]ように指示するにはどうすればよいでしょうか?getopts

ご覧のとおり、引数が最後の位置に配置されている場合、引数を処理できます。getopts位置引数がオプション引数の前にあることを許可するには、どの「正規表現」が必要ですか?

オプション以外の引数を任意の順序で getopt に許可する方法からの提案は? 引数を並べ替えているようです。

0 投票する
2 に答える
617 参照

regex - 正規表現と [[ ]] を使用したケース内の OPTARG の解析

そのため、bash スクリプトをセットアップしていて、getopts を使用して特定のフラグへの引数を解析したいと考えています。最小限の例として、フラグ -M があり、y または n を引数として取るスクリプトを考えてみましょう。次のコードを使用する場合:

私は以下を取得します:

ただし、代わりに次のコードを使用すると

私は得る:

なぜ機能しないminimalExample.shのですか?

0 投票する
2 に答える
1336 参照

bash - Bash 手動入力と位置パラメーターのシフト

(いきなりですが、この質問は主に、手動で定義された配列に情報を適用getoptsする方法と a を適用する方法に関するものです。shift

getopts関数のパラメーターを通常の方法で解析しながら、予期しないパラメーター解析する (複数回処理をループすることによって)いくつかの Bash 関数を開始するための手順を作成しています。getopts

process_arguments()以下のコードでは、基本的にgetopts処理を含む小さな関数とshift、位置パラメータに作用する最終的な操作を見ることができます。このパラメーター解析の全体的な手順は、スクリプトではなく関数process_argumentsを対象としているため、関数に含まれる処理をスクリプトのメインwhileループに移動したいと考えています。これには、関数内のプロシージャからの入力および出力情報の変更が含まれます。

処理のための入力情報は、配列getoptsで渡すことができます:getoptsargs

ただし、プロシージャの出力をどのように変更できるかはわかりません。現在、位置パラメーターをシフトしてから、位置パラメーターを出力します ( echo "${@}")。

それで、質問...

  • このgetopts argsアプローチは、プロシージャに情報を渡す正しい方法ですか?
  • shiftに渡されるパラメーターに を適用するにはどうすればよいgetoptsですか? また、これらのシフトされたパラメーターをスクリプトの残りの処理に出力するにはどうすればよいですか?

ご協力いただきありがとうございます。他のガイダンスを歓迎します。全体的な目標は、関数を削除し、process_arguments()その機能をメインの ``while``` ループに組み込むことです。