【问题标题】:ADB shell commands on one line / bash script?一行/bash脚本上的ADB shell命令?
【发布时间】:2017-06-26 21:56:15
【问题描述】:

对于大多数 ADB 命令,我了解如何在单行上运行它们,甚至将它们放在 shell 脚本中时,可以通过在 'adb shell' 之后执行辅助命令但添加“ ”来轻松完成。

但由于某种原因,尝试通过单行运行此命令甚至将其放入 shell 脚本中都没有任何效果:

adb shell 
task_id=$(dumpsys activity | grep -A2 "(dumpsys activity recents)"| grep '#'| cut -d ' ' -f 7| cut -c 2-); am task lock $task_id

顺便说一句,这是在 Android 设备上“屏幕固定”应用程序。

【问题讨论】:

  • 是否给出错误信息,错误信息是什么?
  • 除了任何错误消息之外,您还应该提及您是在 Linux、Mac 还是 Windows 上运行 adb 命令。

标签: android bash shell


【解决方案1】:

你的命令需要引号:

adb shell '
task_id=$(dumpsys activity | grep -A2 "(dumpsys activity recents)"| grep "#"| cut -d " " -f 7| cut -c 2-)
echo "locking task $task_id"
am task lock $task_id
'

或单行:

adb shell 'task_id=$(dumpsys activity | grep -A2 "(dumpsys activity recents)"| grep "#"| cut -d " " -f 7| cut -c 2-); am task lock $task_id'

【讨论】:

  • omg...我以为我试过了。哈哈。我想我不小心使用了双引号。哇,我很笨。哈哈。不过谢谢!
最近更新 更多