我正在爲redhat linux機器上的串行設備創建TCP/IP接口。在一個bash腳本中的netcat被用來完成這個,而且不麻煩。如何修改netcat的輸入流?
nc -l $PORT < $TTYDEVICE > $TTYDEVICE
的問題是,在串行設備使用回車對線(「\ R」)在它的響應結束。我想把它翻譯成(「\ r \ n」),所以telnetting的windows機器可以毫無困難地查看響應。我試圖弄清楚如何用簡單的bash解決方案來解決這個問題。我也可以訪問stty來配置串口設備,但是在輸入端沒有「\ r」來翻譯「\ r \ n」(從我能說的)。
我曾嘗試在netcat的輸入端使用tr,但它不起作用。
#cat $TTYDEVICE | tr '\r' '\r\n' | nc -l $PORT > $TTYDEVICE
任何想法?
'tr'對字符到字符的翻譯很有用,但它不會將一個字符轉換爲多個字符。 (指定較長的目標字符串只會導致多餘的字符被忽略,在這種情況下'tr'應該顯示警告。)。使用例如代替Perl。 – tripleee 2012-01-27 16:32:36