通过管道传输两个服务器调用

通过管道传输两个服务器调用

我正在尝试管道运行两个服务器(一个使用 yarn,一个使用 phoenix/elixir)。我的代码:

sudo service elasticsearch start;
source env/local.env;
iex -S mix phx.server|
cd front-end;
yarn start:dev-ng;

但是,我遇到了各种错误。我的问题是如何最好地进行设置。有没有办法有效地通过管道传输它,还是我必须在两个单独的 shell 脚本中执行此操作(这很麻烦)?谢谢。

答案1

好吧,管道会从命令或命令序列中生成文本输出,并发送给消费者——另一个命令序列。所以{ echo foo; echo bar; } | { grep foo; grep bar; }如果你看到我在这里做的事情,你就可以做类似的事情。

至于实际命令,管道传输cd有点没意义 -cd不消耗 stdin 流。因此,如果您需要yarnfront-end目录中执行,请cd在管道传输之前执行该命令。

相关内容