我正在尝试监视一个无限任务,直到第一个匹配行。这很好用:
$ adb -L tcp:qa-qemu3.mlan:5037 -s emulator-5616 logcat | grep -m 1 v
05-18 11:34:08.386 21032 21032 D ICU : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
$
我想将该输出捕获到一个变量中,但是当我尝试时,shell 卡住了:
$ F=$(adb -L tcp:qa-qemu3.mlan:5037 -s emulator-5616 logcat | grep -m 1 g)
^C
$ echo $F
--------- beginning of main
$
有一些明显的基于文件的解决方法,特别是我可以使用第一个版本,在withlogcat
中重新运行它,但我很好奇如何避免卡住,因为管道中的所有进程都没有退出。而且对我不起作用。$()
-d
$()
timeout/timelimit
这是在 MacOs High Sierra 上。