本文主要是介绍(一百四十)shell脚本-adb自动连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用场景
当手机重启的时候希望在能连接adb的那刻立刻连上adb,进行log的抓取
shell脚本
#!/bin/bash
echo -----------------------------------------------------------------
while true; doif [ $(adb devices -l | awk 'NR>2{print p}{p=$0}' | wc -l) -eq 1 ];thenecho "only one device has connected"adb devices -l | awk 'NR>2{print p}{p=$0}' | while read id numdoecho $id "-" $numdonebreakelsecontinuefisleep 1
done
echo
adb root;adb remount
echo -----------------------------------------------------------------
adb shell
自己百度写了个shell脚本,大概逻辑就是当前如果有已连接设备,则输入adb shell,否则以1s为间隔进行轮询。
#!/bin/bash
echo -----------------------------------------------------------------
while true; doif [ $(adb devices -l | awk 'NR>2{print p}{p=$0}' | wc -l) -eq 1 ];then
列出所有设备,由于第一行是提示,最后一行是空白,所以通过awk只显示除第一行和最后一行的输出。
当当前只有一个设备时,说明可以进行adb shel的尝试。
awk 'NR>2{print p}{p=$0}'这句逻辑通过百度是意思NR>2及当当前行大于2时,即第三行开始满足条件,打印前一行的信息,这逻辑就是为了过滤第一行和最后一行。echo "only one device has connected"adb devices -l | awk 'NR>2{print p}{p=$0}' | while read id numdoecho $id "-" $numdonebreak
无用逻辑,只是打印出当前连接的设备信息,可省略elsecontinuefisleep 1
done
echo
adb root;adb remount
echo -----------------------------------------------------------------
adb shell
总结
感觉方法有点蠢蠢的,不值得是否还有其它方法。。。
目前想到的方法就是轮询+adb shell
这篇关于(一百四十)shell脚本-adb自动连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!