bash重定向文件描述符3是读取tcp端口和写入文本文件的最有效方法吗?

时间:2014-11-14 23:51:08

标签: android linux bash raspberry-pi

我通过从USB连接的Android手机转发文本,在Raspberry Pi(Raspbian OS)上记录GPS数据。应用程序ShareGPS每秒正确地将几行文本转储到端口50000.在Pi上,我运行adb将端口转发到Pi。 从那里我使用伪路径将套接字重定向到文件描述符,然后将描述符重定向到文本文件。

adb forward tcp:50000 tcp:50000

exec 3<>/dev/tcp/localhost/50000

cat &3 >> dump-file.txt

对我而言,这似乎是一条非常复杂的路线。是否有更有效的方式记录从手机上的端口到Pi上的文本文件?

手机设置和adb参考http://ubuntuforums.org/showthread.php?t=2145434 套接字重定向http://hacktux.com/bash/socket

2 个答案:

答案 0 :(得分:2)

如果您不需要来回通信,则无需打开单独的FD:

cat < /dev/tcp/localhost/50000 > dump-file.txt

答案 1 :(得分:1)

无论如何,都需要有一个监听端口并写入文件的进程,因为没有内置的O / S功能。

所以,实际上,没有更有效的方法来运行它。您可以通过将脚本转换为程序来节省一些启动成本,但我不会打扰 - 节省的费用很少。