如果我运行以下内容:
new ProcessBuilder("/bin/bash", "-c", "tail -n 10 -F /app/log.txt");
我可以阅读输出,就像我期望的那样。
如果我在shell中运行以下命令,我会按预期得到输出:
/bin/bash -c "tail -n 10 -F /app/log.txt | grep -i ERROR"
但是,如果我现在向进程构建器添加一个grep:
new ProcessBuilder("/bin/bash", "-c", "tail -n 10 -F /app/log.txt | grep -i ERROR");
我没有输出,以完全相同的方式读取它,但我无法弄清楚为什么?