
Я пытаюсь получить входные данные из последовательного порта и записать их в файл, а затем прочитать файл и отправить его обратно через последовательный порт на хост-компьютер. Коллега предложил использовать команду "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