我有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 时没有输出(空行除外)?或者任何人都可以为我的场景提供更好(和可行)的解决方案?
提前致谢!
[更新] 我突然发现cat /dev/crbif0rb0c${i}ttyS0 | grep ^ --line-buffered &
会起作用。不知道为什么......
答案 0 :(得分:1)
tail -f /dev/crbif0rb0c{0,1,2,3}
怎么样?