問題タブ [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 に答える
235 参照

bash - getopts がコマンド ライン オプションを解析しない

私は bash バージョン 4.2 を実行しており、組み込みコマンドgetoptsでコマンド ライン パラメータを解析しようとしています。

しかし、getopts はそれを正しく解析していないようです-s。最初のパラメーターでなければ、解析されません。

-s解析されません:

これは解析されます

スクリプトは次のとおりです。

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

linux - bash getopts が引数を認識できない

getopts以下のように引数を取得するスクリプトがあります

別のスクリプトで解析されてスクリプトに渡される引数を受け取り、getopts単一のエントリに対しては正常に機能します。12345,-d somedesc -l somelabel

ただし、複数のエントリを受け取り、さらに引数を分割するために and を使用している場合、12345,-d somedesc -l somelabel:6789, -d anotherdesc -l anotherlabelOPTIONSが正しく渡されても がトリガーされません。loopawkgetopts

getoptsOPTIONS を認識できない理由はありますか?

0 投票する
3 に答える
511 参照

bash - 値のリストを使用してフラグを解析する

引数の解析を含む bash スクリプトを作成しています。使用法は次のとおりです。

を使用して、それぞれの値とgetoptsを解析-aして取得することができます。ユーザーが最後の引数として配置した場合にのみ、のすべての値を含むリストを取得して作成することもできます。-bARG_1ARG_2-c-cLIST_OF_ARGS...

-cしかし、ユーザーに最後のフラグとして挿入を強制したくありません。たとえば、スクリプトを次のように呼び出すことができれば素晴らしいでしょう。

これが私の現在のコードです:

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

bash - getopts を使用する場合、オプション解析コードを bash 関数内で共有するにはどうすればよいですか?

Bash関数でこのオプション解析コードをクリーンアップするにはどうすればよいですか? 印刷用に単純な「-h」フラグが必要な多くの関数にコピーアンドペーストされます。むしろ、論理的に同等の汎用ルーチンが必要です

例えば:

関数は、自分の dot-bashrc ファイルで「ソース化」されます。

コードは次のようになります (注: 一部の関数はフラグを介してオプションを取ります)。

通常は、node-commander や node-optimist などを使用して、スクリプト作成のニーズに合わせて JavaScript (またはおそらく Python) でスクリプトを記述しますが、今回は Bash を機能させようとしています。しかし、バッシュは私をバッシングしています。

0 投票する
6 に答える
81669 参照

bash - オプションのフラグの $OPTARG を読んでいますか?

スクリプトで必須フラグとオプション フラグの両方を受け入れられるようにしたいと考えています。これが私がこれまでに持っているものです。

ただし、次の出力:

...これを出力します:

ご覧のとおり、必須フラグの場合とは異なり、オプションのフラグは $OPTARG で引数を取得していません。きちんとした ":)" エラー処理を取り除くことなく、オプションのフラグで $OPTARG を読み取る方法はありますか?

=======================================

編集:以下のギルバートのアドバイスに従って終了しました。これが私がしたことです:

どうもありがとう、みんな。これはこれまでのところ完全に機能します。

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

bash - 関数で呼び出された getopts がフラグを取得しない

から呼び出す次のスクリプトがあります.bash_profile

私が実行するとき

フラグは完全に無視されます。「すべてのローカル変更を上書きしています!」というメッセージは表示されません。私はどこかで何かを逃しましたか?

更新:機能しますが、スクリプトを初めて実行するときだけです。2 回目以降、フラグは無視されます。

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

linux - UNIX の基本的な getopt のトラブル

最近 UNIX を使い始めたばかりで、getopts の実装に問題があります。

以下の関数は、ファイルを見つけてごみ箱に削除します。移動後にメッセージを表示する -i を指定して getopts を使用しようとしています。構文は正常に機能しますが、getotps コマンドで while ループを実装すると機能しなくなります。

誰でも有益なアドバイスをいただけますか?

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

bash - bashスクリプトで引数を解析する最良の方法

だから私はgetopts、getoptなどについて読んでいますが、私の問題に対する正確な解決策は見つかりませんでした。

私のスクリプトの使用法の基本的な考え方は次のとおりです。

-d が渡された場合、TEXT は必要ありません。TEXT は通常、テキストの段落であることに注意してください。

私の主な問題は、getopts がフラグの解析を終了すると、TEXT パラメータの位置を知る方法がないことです。ただし、ユーザーが失敗して次のようなことをした場合、 TEXT が最後の引数であると想定できます。

その場合、プログラムは使用法が正しくないことを認識しません。

私が最も近いのは、 getopt と IFS を使用して実行することです

唯一の問題は、TEXT がテキストの長い段落である可能性があり、このメソッドはスペースのためにテキストのすべての単語を分割することです。

私の最善の策は、正規表現を使用して使用法が正しく形成されていることを確認してから、getopts で引数を抽出することだと考えていますが、より簡単な解決策があればいいと思います

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

bash - getopts で引数なしのデフォルト ケースを変更する - bash

getopts を使用し、特定のフラグに引数を指定しない場合は常に、次のメッセージが表示されます。"option requires an argument -- d"

このメッセージを削除し、ユーザーがreadコマンドを使用してオプションを再入力できるようにしたいと考えています。

getopts での私の場合は次のとおりです。

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

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

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

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

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

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