
シリアル ポートからの入力をファイルに書き込み、さらにそのファイルを読み取ってシリアル ポートからホスト コンピュータに送り返そうとしています。同僚が「tee」コマンドの使用を提案しましたが、よい例が見つからないし、コマンドの意味もわかりません。「tee」でこれを行うことは可能ですか? tee は、ファイルを別の場所に送信するなどの 1 つのコマンドしか実行できないようですが、ポートを送信してからドキュメントに書き込み、ドキュメントを読み取ってポートに送信するということはできません。それとも、私が「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 シェルを考慮すると、例は次のようになります。
$cat ./serial-port|tee -a <filename>
したがって、シリアルポートが20002の場合、上記のコマンドは次のようになります。
$cat $serial-port|tee -a serial.txt
20002
$cat serial.txt
20002