파일과 직렬 포트 모두에 데이터를 씁니다. tee를 사용할 수 있습니까?

파일과 직렬 포트 모두에 데이터를 씁니다. 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 쉘을 고려하면 귀하의 예는 다음과 같습니다.

$cat ./serial-port|tee -a <filename>

따라서 직렬 포트가 20002이면 위 명령은 다음과 같습니다.

$cat $serial-port|tee -a serial.txt
20002
$cat serial.txt
20002

관련 정보