bashスクリプトを介してコマンドを実行していますが、コマンドは連続した出力ストリームを提供しています。
echo -e $( npm start)
問題は、echoが最新の出力のみを印刷することです。最新のストリームではなくすべてのストリームを取得するにはどうすればよいですか?
答え1
コマンド置換を使用すると、シェルは残りの$(...)
コマンドライン(echo -e
)を実行する前にコマンドが完全に完了するのを待ちます。
この場合、コマンドの置換は不要です。
npm run start
出力を生成するのに役立つ必要はありませんecho
。
これをログファイルに書き込む必要がある場合:
npm run start >/some/path/log.txt 2>&1
これにより、標準出力とすべての診断メッセージが指定されたログファイルパスにリダイレクトされます。