Node.js の child_process でパイプ、リダイレクトなどを使う

{shell: true} を使う。

公式サイトによると、このオプションを付けると、Unix環境では sh -c <コマンド>, Windows環境では cmd.exe /s /c <コマンド> という動作となるらしいです。

下記はNG。

引数が全て文字列として扱われるようです。

下記もNG。

第一引数がそのままプログラム名として扱われるようです。

ちなみに exec の場合だと下記でそのまま動きます。ただ、spawn は別プロセスで動くという違いがあるので、適宜使い分ければ良いかと思います。


最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。



この記事をシェアする




りゅーた
フリーランスのエンジニアしてます。Android、iOS アプリの開発、対向サーバの開発、C/C++のライブラリ開発が現在のメイン。趣味はテニス・ゲーム・自転車。3児の父

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA