如何尾随 adb logcat 的输出并执行每个新行的命令



>我试图对这篇文章做非常可能的事情,但不是从文件中读取,而是想"订阅"adb logcat的输出,每次记录新行时,我都会在这一行上运行一些代码。

我尝试了这些代码,但没有一个有效

tail -f $(adb logcat) | while read; do 
echo $read;
processLine $read;
done

adb logcat >> logcat.txt &
tail -f logcat.txt | while read; do 
echo $read;
processLine $read;
done

最简单的方法是什么?提前致谢

以下两种解决方案应该有效。我通常更喜欢第二种形式,因为 wile 循环在当前进程中运行,因此我可以使用局部变量。 第一个窗体在子进程中运行 while 循环。

子进程中的 while 循环:

#!/bin/bash
adb logcat |
while read -r line; do
echo "${line}"
processLine "${line}"
done

当前进程中的 while 循环:

#!/bin/bash
while read -r line; do
echo "${line}"
processLine "${line}"
done < <(adb logcat)

最新更新