問題タブ [argv]
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.
php - HTTP ではなく CLI としていくつかの PHP スクリプトを実行しようとしています。どうすれば彼らをうまくプレイさせることができますか?
FeedForAll の PHP スクリプトをいくつか使用して、RSS フィード (RSSmesh) を結合し、HTML (RSS2HTML) として表示しています。
私はこれらのスクリプトをかなり集中的に実行するつもりであり、結果の HTTP 要求と帯域幅がホスティング クォータにカウントされることを望まないため、Web ホストのサーバー上でこれらのスクリプトをアンブレラ PHP "バッチ" スクリプトで実行するように移行中です。 、このスクリプトをcron経由で呼び出します(ちなみに、これはLinuxサーバーです)。
HTTP 経由の (実際の) サンプル リクエストを次に示します。
これにより、目的の HTML 出力が生成されます。これをコマンドラインでどのように機能させたいかの例:
/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html
これは、「rss2html2-cli.php」に正しいシバン行が追加されたものです。リクエストで実行可能ファイル(「/usr/local/bin/php」)を指定することもできますが、問題なく別のスクリプト(自分で書いたもの)を実行できるため、違いがあるとは思えません。
さて、RSS2HTML と RSSmesh は違います。まず第一に、これらには 2 次ファイルが含まれています (たとえば、どちらにも XML パーサー スクリプトが含まれています)。そして、これが私が頭を悩ませているところだと思います。
現在、次のように「umbrella」バッチ スクリプトから exec() を呼び出しています。
exec("/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html", $output)
しかし、出力は生成されていません。これを行う最善の方法は何ですか?また、どのような「落とし穴」を心に留めておく必要がありますか? exec() はこれにアプローチする正しい方法ですか? 他の(単純な)スクリプトでは問題なく機能しますが、それは独自の出力を書き込みます。このために、出力を取得し、可能であればアンブレラ スクリプト内からファイルに書き込みたいと考えています。出力バッファリングも試しましたが、うまくいきませんでした。
インクルードに関して何か特別な注意を払う必要がありますか? 現在、それらはスクリプトで指定されてinclude_once("FeedForAll_XMLParser.inc.php");
おり、指定されたファイルは実際に同じフォルダーにあります。
詳細情報:
-これは Linux サーバーです。
-シェルに直接アクセスできないため、コマンドラインで直接テストすることはできません。すべてはcrontabを介して行われます。
-FeedForAll スクリプトのサポートには、まだ多くの要望が残されていることは認めますが、できればスクリプトを使い続けたいと思っています。私は Simplepie を調べましたが、FFA スクリプトは、個々のフィードごとのアイテム数の制限 (RSSmesh) や説明の長さの制限 (RSS2HTML) など、Simplepie では明らかな解決策が見られないいくつかのことを行います。
-ヤフー!パイプはアウトです。アプリケーションのデータをキャッシュする時間が長すぎます。
コードを確認したい場合は、txt ファイルとしてのスクリプトを次に示します。RSS2HTML2 と RSSmesh は FeedForAll スクリプトで、FeedForAll_XMLParser... は含まれているパーサーです。$argv などを処理するためにこれらをまだ修正していないことに注意してください。ただし、CLI で正常に動作する「scraper-universal-rss-cli」を使用しています。
誰かがこれについて共有する考えを持っているなら、それは非常に高く評価されます. 前もって感謝します。
c - メイン関数のヘッドを削除するにはどうすればよいですか?
一部のコードを別のバイナリから移動して、メイン プログラム内に配置しようとしています。残念ながら、メイン関数の初期化変数を模倣することはできません。
どうすれば手で作成できますargc
かargv
? 誰かが私にいくつかの例の割り当てを与えることができます.
それは次のように見えるからです:
私はそれらを次のように割り当てることができると考えました:
しかし、うまくいきません。これがどのように行われるのか、誰か教えてもらえますか?
c - psはMacOSXのすべてのプロセスのargvをどのように表示しますか?
Mac OS Xで、引数に基づいて特定のプロセスがいつ実行されているかを特定しようとしています。同じ名前で実行されているプロセスが複数ある場合がありますが、探している引数は1つだけです。プロセスは、私のコードを実行するのと同じユーザーによって所有されていません。argvを変更することはありません。
'ps'コマンドは、必要な情報を正確に表示します。しかし、「ps」を生成してその出力を解析する必要がないことを強く望んでいます。
私はもともとsysctlを使用してこの質問の解決策を試しましたが、自分が所有するプロセスに対してのみ機能することがわかりました。詳細については、他の質問を参照してください。
では、psは他のユーザーが所有するプロセスのargv情報をどのように取得するのでしょうか。
c++ - C++argvパス指定子
私のプログラミング言語のインタプリタでは、import
関数が呼び出された場合に備えて、パーツを正しく処理する必要があります。次に、そのようなファイルが/libs
フォルダー(実行可能ファイルと同じ場所にあります!)にあるかどうかを確認する必要があります。存在しない場合は、現在のスクリプトのディレクトリを確認する必要があります。
- argvから実行可能ファイルが配置されているディレクトリへの正確なパスを取得するにはどうすればよいですか?
パスの末尾からファイルを削除する最良の方法は何ですか。例:
C:/a/b/c/file.exe
になる必要がありますC:/a/b/c/
mpi - MPI_Initがargcおよびargvへのポインターを受け入れるのはなぜですか?
これがMPI_Init関数の使用方法です
MPI_Initがargvの値の代わりにargcとargvへのポインターを使用するのはなぜですか?
visual-c++ - charをTCHAR*に変換しますargv[]
どうすればテキストを入力できますTCHAR* argv[]
か?
または:どうすればからに変換できchar
ますTCHAR* argv[]
か?
bash - 関数内の呼び出し元のコマンドライン引数にアクセスするにはどうすればよいですか?
スクリプトのコマンドライン引数にアクセスする関数をbashで作成しようとしていますが、関数の位置引数に置き換えられています。明示的に渡されていない場合、関数がコマンドライン引数にアクセスする方法はありますか?
c - argv[0] はいつ null を持つことができますか?
コマンドラインから main() に引数を渡すことについて私が理解していることは、argc の最小値は 1 であり、argv[0] には常にそのパスを含むプログラム名が含まれることです。
コマンド ラインで引数が指定されている場合、argc は 1 より大きい値を持ち、argv 1から argv[argc-1] はそれらの引数を持ちます。
今、このリンクの段落はそれを言っています
argv[0] は、プログラムの名前を含む文字列か、それが利用できない場合はnull 文字列になります。
では、argv[0] はいつ、どのようにして null 文字列を持つことができるのでしょうか? パスを含むプログラム名は常に利用できるので、いつnullになることができますか?
ライターは「それが利用できない場合」と言っていますが、いつ、どのようにしてプログラム名が利用できない可能性がありますか?
python - unittestモジュールがスクリプト内にある場合のsys.argv[1]の問題
sys.argvを使用してさまざまなことを実行し、パラメーターにアクセスするスクリプトがありますが、スクリプトがコードの単体テスト部分に到達すると、このためのモジュールがないと表示されます。私が持っているスクリプトは次のとおりです。
./script.py Hello
コマンドラインに入力するとします。私が得るエラーは次のとおりです。
unittestモジュールを削除すると、機能します。また、テストランナーログを削除して、次の場所に残しておくと、次のようになります。
これはまだ機能しません。
誰でも助けることができます。
ありがとう
私はこのハックを試しましたが、それでもを読み込もうとしますsys.argv
。
私はこれを試してみましたargv
が、それでも余分なパラメータを読み取るのは面倒です。
c# - argvを使用してC#でサブプロセスを起動するにはどうすればよいですか?(またはagrvを有効なarg文字列に変換します)
私はC#コマンドラインアプリケーションを持っており、それをWindowsで実行し、UNIXではmonoで実行する必要があります。ある時点で、コマンドラインから渡された任意のパラメーターのセットを指定してサブプロセスを起動したいと思います。例えば:
残念ながら、System.Diagnostics.ProcessStartInfoはargsの文字列のみを取ります。これは、次のようなコマンドの問題です。
この場合、argvは次のようになります。
「abc」を囲む引用符はシェルによって削除されるため、ProcessStartInfoのarg文字列を作成するために引数を単純に連結すると、次のようになります。
それは私が望むものではありません。
argvをC#でのサブプロセス起動に渡すか、任意のargvをWindowsおよびLinuxシェルに有効な文字列に変換する簡単な方法はありますか?
どんな助けでも大歓迎です。