![파일과 직렬 포트 모두에 데이터를 씁니다. tee를 사용할 수 있습니까?](https://rvso.com/image/23960/%ED%8C%8C%EC%9D%BC%EA%B3%BC%20%EC%A7%81%EB%A0%AC%20%ED%8F%AC%ED%8A%B8%20%EB%AA%A8%EB%91%90%EC%97%90%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EC%94%81%EB%8B%88%EB%8B%A4.%20tee%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
직렬 포트에서 입력을 받아 파일에 쓴 다음 파일을 읽고 직렬 포트를 통해 호스트 컴퓨터로 다시 보내려고 합니다. 동료가 "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 쉘을 고려하면 귀하의 예는 다음과 같습니다.
$cat ./serial-port|tee -a <filename>
따라서 직렬 포트가 20002이면 위 명령은 다음과 같습니다.
$cat $serial-port|tee -a serial.txt
20002
$cat serial.txt
20002