0
我有4個UART設備,我想同時觀察它們的輸出。我使用以下腳本來完成這項工作:帶緩衝區的並行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 &
會工作。不知道爲什麼...
不,這不起作用。沒有輸出被打印。 –
您的UART是否打印CR和/或LF?因爲輸出在完成一行之前不會被打印。 – artbristol
他們正在打印「\ n」。但是沒關係,通過'grep'中的'^'替換'''來解決問題。 –