問題タブ [getopt-long]
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.
perl - Getopt :: Longは可変オプション名に対応できますか?
私は次のようなことができるスクリプトを書いています:
スクリプト名--resource1=xxx --resource2 = xxx
しかし、これは最大50以上になる可能性があります。GetOptに動的オプション名を受け入れさせる方法はありますか?
perl - GetOptionsユーティリティを使用してPerlで「オプションの」コマンドライン引数を処理するにはどうすればよいですか?
GetOptionsユーティリティを使用して、期待されるコマンドライン引数のみを処理する方法を説明する多くのPerlチュートリアルがあります。それ以外の場合は、適切なメッセージで終了します。
私の要件では、次のようなオプションのコマンドライン引数があります。
- -z zip_dir_path:出力をzipします
- -h:ヘルプを表示します。
GetOptionsとの組み合わせをいくつか試しましたが、うまくいきませんでした。
だから私の質問は:この要件を処理するためにGetOptionsを使用する方法は?
編集:-zには「zipディレクトリパス」が必要です
EDIT2:私のスクリプトには次の強制的なコマンドライン引数があります:
- -input_dir_path内:入力ディレクトリ
- -out output_dir_path:出力ディレクトリ
これが私のコードです:
この編集がより明確になることを願っています。
perl - Getopt::Long によるあいまいなオプションの検出
Perl モジュール Getopt::Long であいまいなオプションを検出する簡単な方法はありますか?
例えば:
デフォルトでは、Getopt::Long は固有の略語をサポートしています。固有でない略語については、警告がスローされ、スクリプトは引き続き楽しく実行されます。
あいまいなオプションでスクリプトをすぐに終了させて、すぐに通知し、予期しないデフォルトで実行されないようにしたいと考えています。
perl - Getopt::Longスペースを含む文字列を変数に取得する
Getopt::Longを使用してコマンドライン引数を解析するperlスクリプトを作成しています。ただし、文字列(スペースを含む)を受け入れることができる引数があります。文字列全体を変数にするにはどうすればよいですか。例えば:
変数$stringに「何とか何とか何とか何とかyup」が必要です。Getopt :: Longは、いくつ持つかがわかっている場合、1つの引数に対して複数の入力をサポートすることを知っています(私はそうではありません)。これは可能ですか?
c - getopt_longの問題
私が書いているプログラムからの引数の解析に問題があります。コードは次のとおりです。
プログラムを実行すると、奇妙な出力が得られました。
ruby - ruby の GetOptLong はオプション引数のスペースを処理できますか?
私がやろうとしているのは、UNIXコマンドになるRubyスクリプトのオプションに引数を渡すことです。このコマンドには、grep、パイプ、およびその他の多くのものが含まれる可能性があります (おそらくそうなるでしょう)。基本的に、私が疑問に思っているのは、引数として任意の文字を受け入れるように GetOptLong オプションを設定できるかということです。価値のあることとして、私は OptionParser を使用できず、おそらく slob も使用できません (またはそれが呼ばれるものは何でも)。
ありがとう - ロブ
perl - Perl で Getopt::Long を使用して多次元データ構造を取得する
必要に応じて動作するように以下のコードを取得しましたが、引用符なしでこれを行うより良い方法があるかどうかを知りたいです。
満足のいく出力が得られます。
ただし、引用符なしで次のように使用したいと思います。
ここでは、key1 と key2 はハッシュ キーであり、一意になります。
アイデア/提案はありますか?
perl - Perl Getopt::Long を作成して、バックスラッシュ ( \ ) を文字列に保持する
私の同僚の 1 人が、ユーザーの Windows ドメイン/ユーザー名を要求する perl スクリプトを作成しました。もちろん、次の形式で入力しますdomainname\username
。次に、Getopt:Long モジュールはこれを文字列に変換し、'\' 文字を削除して文字列を正しく表示しません。もちろん、すべてのユーザーにドメイン/ユーザーの組み合わせを入力するように求めることもできますがdomainname\\username
、「プログラムではなくユーザーを修正する」という罪を犯したくはありません。このために作成したモジュールも使用しますOurCompany::ColdFusionAPI
。ColdFusion にアクセスするので呼び出します。
コードは次のようになります。
行を追加するとsay $username
、「\」のない文字列が得られます。どうすれば perl に '\' を保持させることができますか? read -r
bashのラインに沿った何か。
perl - オプションでもあるサブルーチンに Getopt::Long オプションを渡すにはどうすればよいですか?
構成スクリプトからの引数を処理するために Getopt::Long をセットアップしようとしています。
これが私のスターターです。
奇妙なことに、このようなスクリプトを実行すると問題が発生します。
./config.pl -a -c config.xml
オプションは出力されません-c
が、このように実行すると、
./config.pl -c config.xml -a
それは正常に機能します。
その理由は理解できたと思いますが、それは注文の実行に関係していますよね?
問題は、どうすれば修正できるかです。Getopt::Long を @ARGV と組み合わせて使用する必要がありますか?
最終的に、呼び出しているサブルーチンにコマンド ライン引数を渡そうとしています。したがって、サブルーチンが呼び出されたときにサブルーチンに渡す-a or --add
オプションが必要な場合。-c or --config
何か案は?
c - getopt_longを使用してcの引数を処理するにはどうすればよいですか?
getopt_long関数を使用してcのコマンドライン引数を正しく処理する方法がよくわかりません。次のコードを作成します。
そして、出力は奇妙です。コマンドライン引数としてガベージデータを渡すことができ、私のプログラムはこのエラーをチェックしません!どうすれば修正できますか。
実行例:
ご協力いただきありがとうございます。