【发布时间】:2012-05-03 10:22:02
【问题描述】:
我有 4 个 UART 设备,我想同时观察它们的输出。我使用以下脚本来完成这项工作:
# first kill the cat process from last run
killall -v cat
for i in `seq 0 3`; do
cat /dev/crbif0rb0c$(i}ttyS0 | grep . --line-buffered &
# cat /dev/crbif0rb0c$(i)ttyS0 &
done
但是我没有从这个脚本中得到任何输出,除了许多空行。当我删除 grep 的东西并使用 for 循环中的第二行时,我得到了很多输出,但由于所有输出都搞砸了,所以不可读。
所以我的问题是为什么我使用 grep 时没有输出(除了空行)?或者任何人都可以为我的场景提供更好(和可行)的解决方案?
提前致谢!
[UPDATE] 我突然发现cat /dev/crbif0rb0c${i}ttyS0 | grep ^ --line-buffered & 可以工作。不知道为什么……
【问题讨论】:
标签: linux concurrency grep cat