問題タブ [qx]

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 投票する
5 に答える
1704 参照

perl - Perlのシステムコールの標準出力ファイルハンドルを変更するにはどうすればよいですか?

selectを使用してシステム関数のstdoutを変更しようとしています。しかし、それは機能していないようです。システム出力は、ファイルにリダイレクトされるのではなく、コンソールに表示されます。

できますがsystem "dir /a > out.txt"、上記のコードが機能しない理由を知りたいです。

0 投票する
9 に答える
24353 参照

perl - バックティックを使用して呼び出した場合、Perl の変数に curl の出力を取得するにはどうすればよいですか?

perl の変数への curl 呼び出しの応答を取得しようとしています。

動作しません。これをコマンド ラインで実行すると、curl 呼び出しによってすべての出力がターミナルに正しく出力されますが、変数にはそのデータが入力されません。

Perl curl lib をインストールして呼び出さずにこれを行う方法はありますか?

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

perl - qx(コマンド)のタイムアウトを実装するにはどうすればよいですか?

このコードにタイムアウトを実装するにはどうすればよいですか。「hwinfo --usb」コマンドが一定時間経過しても何も返さなかった場合は、(コマンドを停止して) サブ _usb_device から戻るか終了します。

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

perl - Perlの組み込みのバックティック演算子をモックするにはどうすればよいですか?

バックティックを使用している私のPerlプログラムを単体テストしたいと思います。バックティックをモックして、外部コマンドの実行とは異なることを行う方法はありますか?

別の質問は私が必要なものを示していますが、Rubyです。残念ながら、私はこのプロジェクトにRubyを使用することを選択できません。また、バックティックを避けたくありません。

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

ajax - Perlでforkしますが、子プロセスのシステムコールから終了ステータスを取得します

私がやること:

  1. cgiスクリプトへのajax呼び出しを行います。
  2. Cgiスクリプトはフォークしますが、親はすぐに応答メッセージを返します。
  3. 子はシステムコールを実行しますが、終了コードとエラーメッセージが必要です。

擬似コード:

私の問題:

($ SIG {CHLD} ='IGNORE')が原因で-1に設定されているため、qx()から正しいリターンコード($?)とエラーメッセージを取得する際に問題が発生しました。$ SIG {CHLD}ステートメントを削除すると、子が刈り取られるまで、クライアントWebページは親から応答メッセージを受信しません。

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

perl - qx内で__FILE__を使用する方法は?

次のように、Perlスクリプトの先頭に定数を割り当てようとしています。

__FILE__演算子内で補間されないためqx、これは失敗します。シェルを呼び出す__FILE__ に補間するという、私が望むことをどのように達成できますか。readlink

注意:コマンドを中間変数内に格納することはできません。

0 投票する
4 に答える
1392 参照

perl - Perl -> qx(perlファイル)の戻り値の仕方

他のPerlファイルからPerlファイルの戻り値がどのように返されるかを知る必要があります.

私の最初のファイルでは、次のような文で2番目のファイルを呼び出します。

exit と return を使用してこのデータを取得しようとしましたが、できません。

何か案が?

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

linux - mod_perl2 スクリプトから特定のバイナリが実行され、他のバイナリは実行されません (ls の可視性と +x にもかかわらず)

Perl 5.10.1 を使用する CentOS 6.4 上の Apache 2.2。

mod_perl スクリプト内からリモート ディレクトリ リストを取得しようとしてdie qx(id)apacheます。しかしssh、ヘルプ情報を出力するためだけに、パラメーターなしで実行できるようにはなっていません。それが私がこの質問でどうするかを尋ねていることです-それはssh接続できないことではありません.

死ぬ:

と:

死ぬ:

わかりました、それで、それを見つけて見ることができ、それに対する実行権を持っています (これは /usr/bin と /usr にも当てはまります)。

空の配列で死ぬので、試しました:

...これは次のように終了します:

どうしてこれなの?次の期待値を取得die qx(ssh)または終了するにはどうすればよいですか。die qx(/usr/bin/ssh)

興味深いことに、bash プロンプトから次のメッセージが表示されます。

では...ls利用できないアカウントから実行するにはどうすればよいsshですか? どちらもプログラムですが、なぜここで異なる動作をするのでしょうか?

更新: だけsshではありませんが、パターンがわかりません: gawktar、およびpingも機能しません。それでも、、、dfそしてlsすべてそうですdirpwdしかし:

したがって、それらはすべて「x」ビットがすべて設定されており (「s」が 1 つある ping を除きますが、以下のエラー コードを参照してください)、たとえば、同一の ACLsshを持っています。dirでは、なぜ出力を与えるべきsshであり、失敗しても成功するのでしょうか? (フルパスまたは番号)gawkdirls

更新: さらに厄介な/bin/gawkことに、同じメッセージがコード 256 で失敗し、/bin/tar同様/bin/pingにコード 512 で失敗します。

更新: OK、この部分は理にかなっています: コマンド ラインから失敗したバイナリを実行し、そのecho $?直後に実行すると、 ssh255 が返され、 2が返され、1 が返されます。これらは、mod_perl2 で取得したものの縮小バージョンです。ですので、リターンコードが 0 以外のものは動作しないようです。おそらくSTDERRに出力しているため、STDOUTは何もキャプチャしないため、空白が返されます。pingtargawk

ああ、それが答えです-投稿します。

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

perl - qx内で関数を呼び出すことは可能ですか?

これが私が望むことをするちょっとしたPerlコードです:

を使用せずに同じ効果を達成することは可能$valueですか? 何かのようなもの

2 番目のアプローチがうまくいかない理由はわかっています。それは単にアイデアを示すためです。