【问题标题】:adb shell running multiple commands from same cmd windowadb shell 从同一个 cmd 窗口运行多个命令
【发布时间】:2015-05-15 22:57:33
【问题描述】:

我正在尝试创建一个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)。

有人可以建议如何解决这个问题,或者是否有其他方法可以做到这一点?

谢谢。

【问题讨论】:

    标签: android perl shell cmd adb


    【解决方案1】:

    你可以执行多个用 && 运算符分隔的命令

    adb shell "netcfg && ps && getprop"
    

    【讨论】:

      【解决方案2】:

      使用 & 不使用 &&

      && 仅当上一个命令成功时才运行下一个命令

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-23
          • 1970-01-01
          • 1970-01-01
          • 2017-07-22
          相关资源
          最近更新 更多