我正在编写一个shell脚本,我想在其中登录到Android设备(adb shell)并在那里执行一些命令。我的脚本(script1.sh)如下所示:
# adb shell; cd sdcard; sh script2.sh &
但上面的命令不起作用。执行“adb shell”命令后,我进入Android shell,之后不执行其余两个命令。如果我输入“exit”从android shell中输出,现在剩余的命令在主机shell中执行:
./script1.sh: line 119: cd: /sdcard/: No such file or directory
答案 0 :(得分:0)
不要使用分号,例如将defalut.prop复制到/ sdcard /
〜/ adt-bundle-linux-x86_64-20140321 / sdk / platform-tools / adb shell cp default.prop / sdcard /
要在android中执行脚本,你需要像这样执行
/ system / bin / sh script.sh
答案 1 :(得分:0)
我认为您正在搜索heredoc
(https://en.wikipedia.org/wiki/Here_document#Unix_shells)。
示例:
adb shell << ADB_SHELL
cd /sdcard
ls
exit
ADB_SHELL
编辑:在执行可能会损害主机的事情之前,请确保adb shell
命令正常工作,并且您实际上在Android设备上。否则,您将执行主机上的所有操作。