我已经发布了类似的问题,但仍然无法完成我的工作,所以这是第二次尝试,其中
我想更清楚地说明我的绊脚石。
所以基本上我在Android手机的adb shell中,通过发送AT命令与GPRS调制解调器通信。
我可以通过将 at 命令重定向到代表调制解调器的设备文件来完成此操作;我可以回读
使用在后台运行的 cat 实用程序进行响应(较早开始)。我在脚本中实现了它
它可以发送单个 AT 命令并读回响应。例如,这是一个脚本
发送至+警察?获取手机所在运营商的名称:
#SendATCommand script
cat /dev/pts/7 &
echo -e at+cops?\\r > /dev/pts/7
输出如下所示:
# ./sendATCommand
./sendATCommand
#
+COPS: 0,0,"AT&T",6
OK
/dev/pts/7: invalid length
现在有两个我无法解决的问题:
- 我仍然需要手动按 ENTER 按钮才能返回 adb shell 提示符“#”。有办法返回吗
以编程方式显示“#”提示符?再次,我处于 adb shell 中。
- 显示的响应无法捕获,无论是在变量中,还是在文件中,(例如(#./sendATCommand > output.txt)Output.txt文件将为空。我尝试了各种重定向,但仍然没有让它工作。
谁能帮我解决这两个问题(如果可能的话)?最终我希望这个小脚本是
从我的 Android 设备所在的 PC 上运行的“超级”脚本(例如 Perl 或 Powershell)调用
已连接,但在解决这两个问题之前没有办法做到这一点。预先非常感谢!
我建议你试试我的atinout程序应该正是您所要求的:一个从命令行发送 AT 命令并捕获输出的程序。
在你的情况下,结果应该是这样的
$ echo 'at+cops?' | atinout - /dev/pts/7 -
+COPS: 0,0,"AT&T",6
OK
$
要捕获输出,只需输入文件名而不是最后一个-
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)