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

时间:2013-12-24 18:12:40

标签: 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
"

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

谢谢大家!我终于解决了这个问题。这是更新的脚本:

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

唯一的问题是在adb之前缺少“./”。