adb shell从同一cmd窗口运行多个命令

时间:2015-05-15 22:57:34

标签: android perl shell cmd adb

我正在尝试创建一个Perl脚本,以便通过adb shell运行一组命令。

cmd1 
cmd2 
cmd3 
cmd3(1)

我将所有命令放在一个文本文件中并按照以下方式运行:adb shell < adb_commands.txt。(reference

但是,我有这个问题,需要在上一个命令cmd3中执行最后一个命令cmd3(1)。
因此cmd3将被执行并等待输入cmd3(1)。据我所知,这不会发生,adb shell正在等待cmd3完成,因此它可以运行cmd3(1)。

有人可以建议如何解决此问题,或者是否有其他方法可以解决此问题?

感谢。

3 个答案:

答案 0 :(得分:1)

使用&不&&

&&仅在上一个命令成功的情况下运行下一个命令

&在上一个完成之后运行下一个命令,无论是否成功

答案 1 :(得分:0)

您可以执行由&amp;&amp;分隔的多个命令操作

con <- socketConnection("adress.net", port = Portnumber, server=FALSE, open="r+b")
writeLines("Username\r", con)
writeLines("Password\r", con)

答案 2 :(得分:0)

我不明白您的意思是“ cmd3(1)需要从上一个命令cmd3中执行”;该工作应在cmd3函数中完成,而不是在adb shell中完成。也许您可以提供更详细的解释。

但是,为了在一行中执行多个命令,可以使用adb shell "cmd1;cmd2;cmd3"。 @Rachit提到的&&命令不太正确,因为在adb shell "netcfg && ps && getprop"的情况下,仅在执行ps且没有引发错误的情况下才执行命令netcfg