linux - 发送modem AT指令及解析结果

标签 linux bash shell at-command modem

我想通过使用 shell 脚本向我的调制解调器发送 AT 命令并解析结果以验证是否返回 OK。

at=`echo -ne "AT+CFUN1=1\r\n" > /dev/ttyUSB0 | cat /dev/ttyUSB0`

解析 at1 变量并提取“OK”或“ERROR”的最佳方法是什么?

最佳答案

绝对有可能向调制解调器发送 AT 命令并像您尝试做的那样从命令行捕获其输出,但是不能仅使用普通的 bash shell 脚本。这就是我编写程序 atinout 的原因专门用于支持您询问的场景。

像下面这样测试:

MODEM_DEVICE=/dev/ttyUSB0

MODEM_OUTPUT=`echo AT | atinout - $MODEM_DEVICE -`
case $MODEM_OUTPUT
in
        *OK*)
                echo "Hurray, modem is up and running :)"
                ;;
        *)
                echo "Oh no! Something is not working :("
                ;;
esac

如果您打算以任何更复杂的方式解析输出,您应该通过提供文件名而不是最后一个 - 来将输出保存到文件中并读取它。

关于linux - 发送modem AT指令及解析结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852742/

相关文章:

string - 在 bash 或 sed 中逐行计算匹配前后的字符串长度

bash - {1} 在 |master {1} 中是什么意思 ✓|与 bashit?

linux - 无法写入/dev/* 文件

shell - 在 Grunt 上压缩为 tar.gz

linux - 如何使用 shell 就地修改文件?

Linux 查找 mtime 和 ctime 不相等的文件

linux - shell 脚本中的定时陷阱

linux - GTK2 与 GTK3 : detect GTK3 theme in bash script

Windows客户端和Linux服务器之间的通信?

linux - SH 脚本在控制台中工作但不在 Cronjob 中工作