![將資料寫入檔案和序列埠 - 我可以使用 tee 嗎?](https://rvso.com/image/23960/%E5%B0%87%E8%B3%87%E6%96%99%E5%AF%AB%E5%85%A5%E6%AA%94%E6%A1%88%E5%92%8C%E5%BA%8F%E5%88%97%E5%9F%A0%20-%20%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20tee%20%E5%97%8E%EF%BC%9F.png)
我試圖從串行端口獲取輸入並將其寫入文件,然後讀取該文件並將其從串行端口發送回主機。一位同事建議使用“tee”命令,但我找不到一個好的範例/圍繞該命令思考。可以用「tee」來做到這一點嗎?似乎 tee 只能執行一個命令,例如將文件定位到不同的位置,但不能定位連接埠然後寫入文檔,然後讀取文檔,然後透過連接埠發送它。或者我只是不理解“tee”命令的基礎知識。
答案1
此tee
命令將輸入同時寫入標準輸出和檔案。一個簡單的例子是
$ echo "Hi there..."|tee -a hi.txt
Hi there....
$cat hi.txt
Hi there....
在上面的範例中,它在 STDOUT 中呈現文字並將其寫入hi.txt
.另一個例子可能是
$cat hi.txt|tee -a final.txt
Hi there.....
$cat final.txt
Hi there....
所以考慮 bash shell,你的例子可能是-
$cat ./serial-port|tee -a <filename>
所以如果串列埠是 20002 那麼上面的指令看起來像
$cat $serial-port|tee -a serial.txt
20002
$cat serial.txt
20002