Bash读取套接字/ dev / rfcomm0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bash读取套接字/ dev / rfcomm0相关的知识,希望对你有一定的参考价值。

我正在处理我通过我的覆盆子的蓝牙插槽从我的android应用程序获得的数据。

长话短说我能够建立连接,发送数据(JSON字符串)。我可以在/ dev / rfcomm0中的socket / tail中读取数据但是当我把它放在脚本中时不断检查文件是否有新数据我不明白如何自动停止读取套接字。我正在尝试将3写入var输入:

Exec 3 <> / dev / rfcomm0 3

但实际上我需要将收到的JSON字符串发送到另一个程序。因此,每次JSON字符串到达​​时我都需要退出读取并使用JSON字符串启动最后一个进程。

我知道这对于开始阅读套接字是正常的,但我已经全神贯注地找到了一种停止阅读的方法。

答案

你为什么不读书?你似乎需要的是

while read input ; do
    do_something_with "$input"
done <&3

通过这种方式,shell继续读取,并且对于每一行,您可以将字符串发送到另一个程序。

如果你的other_program读取stdin,你可以考虑使用fifo:

mkfifo fifootje
cat fifootje  | other_program &
while read input ; do
    echo "$input" >>fifootje
done <&3

以上是关于Bash读取套接字/ dev / rfcomm0的主要内容,如果未能解决你的问题,请参考以下文章

在 bash 中读取 telnet 延迟的答案

使用 QT 从套接字读取

重定向

Linux 环境变量设置

在 Swift 中像在 Java 中一样使用套接字

打死树莓派-树莓派3代jessie+Opencv-解决安装不了libgtk2.0-dev包问题