1. ホーム
  2. javascript

[解決済み] node.jsでシステムコマンドを同期的に実行する

2022-04-23 09:30:23

質問内容

で必要なのは node.js 機能

result = execSync('node -v');

そうすれば 同期的に は、与えられたコマンドラインを実行し、そのコマンドテキストによって出力されたすべてのstdoutを返します。

<ブロッククオート

ps. Syncがおかしいです。知っています。個人的に使うだけです。

アップデイト

mgutzの解決策は、終了コードを与えてくれますが、stdoutは与えてくれません! より正確な答えを待っています。

アップデイト

mgutz は回答を更新し、解答はこちらです :)

また dgo.a を利用したスタンドアローンモジュールがあります。 exec-sync

更新 2014-07-30

シェルJS リブが到着しました。これが今のところベストな選択だと考えてください。


アップデート 2015-02-10

AT LAST! NodeJS 0.12で対応 execSync ネイティブで

公式を見る 諸注意

どのように解決するのか?

Node.jsは(バージョン0.12以降、つまりしばらくの間)以下をサポートします。 execSync :

child_process.execSync(command[, options])

直接できるようになりました。

const execSync = require('child_process').execSync;
code = execSync('node -v');

で、期待通りの動作をします。 (デフォルトでは、i/oの結果を親プロセスにパイプします)。なお、以下のようなことも可能です。 spawnSync