最初のコマンド一致の出力をgrepingした後にコマンドを実行する方法

最初のコマンド一致の出力をgrepingした後にコマンドを実行する方法

端末で実行して準備ができたら、使用しているポートを出力するサーバータイププログラム(http-server)を起動する必要があります。ポート番号が表示されるのを待ってから、サーバータイププログラムになる別のコマンドを実行したいと思います(ユーザーの対話を実行して許可します)。

ほとんど使えます

http-server | (grep -m 1 "Server runing"; interactiveProgram)

InteractiveProgramは、grepが最初の行と一致した後に開始されますが、インタラクティブではありません.)

ベストアンサー1

問題は次のとおりです。

http-server | (grep -m 1 "Server running"; interactiveProgram)

interactiveProgram標準入力は端子に接続されていませんが、http-server標準出力からパイプに接続されます(grep完了したら)。

http-server | (grep -m 1 "Server running"; interactiveProgram < /dev/tty)

あなたが欲しいものをする必要があります。

おすすめ記事