我正在尝试创建一个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)。
有人可以建议如何解决此问题,或者是否有其他方法可以解决此问题?
感谢。
答案 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
。>