Bash

處理 synclient 的連續輸出

  • May 6, 2013

我正在使用synclient來跟踪手指在觸摸板上的位置。我使用以下命令。

synclient -m 100 | awk '{print $2,$3}'

該命令給出了觸摸板上的“x”和“y”座標。

我想要的是,將這些座標提供給將繪製這些點的程序。一旦跟踪到新點,就應該繪製它。但我的問題是,由於命令連續生成輸出並且還沒有完成,我不知道如何傳遞命令的連續生成輸出。如何做到這一點?

(我所取得的成就如下:

timeout 5 synclient -m 100 > pattern 

所以 5 秒後,“模式”文件包含所有資訊,我從文件中提取座標並繪製線條。但我不想這樣做。)

我假設每一行都會產生一個新的繪圖。所以像

synclient -m 100 |
 while read _ x y; do
   drawprogram $x $y
 done

應該做。如果遇到緩衝問題,請查看stdbuf.

引用自:https://unix.stackexchange.com/questions/74824