android - 无法在 bash 脚本中运行 adb 命令

标签 android bash shell ubuntu-12.04 adb

我正在尝试从 adb shell 启动 Android 网络共享设置。这样做的主要目的是通过运行 shell 脚本启用 USB 网络共享模式。我在我的 Ubuntu 终端 (12.04) 上使用以下命令集:

adb shell
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607

当一条一条地执行命令时,此方法工作正常,但我无法将它们作为普通 shell 脚本运行。请帮忙! 这是完整的脚本:

#!/bin/sh
adb shell
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607

我猜,它在我的系统中找不到 adb 的路径。我尝试用 SDK 目录中 adb 工具的实际路径替换第一行。那也没用。有什么解决办法吗? (抱歉,如果这个问题看起来很愚蠢。我真的是 bash 脚本的新手!)

编辑:更新脚本:-

#!/bin/sh
cd /home/evinish/Documents/Android/adt-bundle-linux-x86_64-20130219/sdk/platform-tools
adb shell "
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
"

最佳答案

adb shell 在您的 Android 设备上打开一个 shell。随后的命令在该 shell 的上下文中输入。在远程命令周围添加引号:

adb shell "
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
"

关于android - 无法在 bash 脚本中运行 adb 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765134/

相关文章:

android - 自定义 fragment 的偏好

android - 接收广播 Intent 时出错

linux - sed 只适用于一行

bash - 在 Dockerfile 中使用此处文档和 ENTRYPOINT/CMD

linux - 启动 Tomcat

android - Facebook SDK "Package bolts does not exist error"安卓工作室

Android去除桌面快捷方式

linux - 如何遍历 bash 脚本中字符串类型的参数?

linux - 在bash中递归扫描目录

c - 如何使用 execvp()