(一百四十)shell脚本-adb自动连接

    xiaoxiao2022-07-14  159

    使用场景

    当手机重启的时候希望在能连接adb的那刻立刻连上adb,进行log的抓取

     

    shell脚本

    #!/bin/bash echo ----------------------------------------------------------------- while true; do if [ $(adb devices -l | awk 'NR>2{print p}{p=$0}' | wc -l) -eq 1 ];then echo "only one device has connected" adb devices -l | awk 'NR>2{print p}{p=$0}' | while read id num do echo $id "-" $num done break else continue fi sleep 1 done echo adb root;adb remount echo ----------------------------------------------------------------- adb shell

    自己百度写了个shell脚本,大概逻辑就是当前如果有已连接设备,则输入adb shell,否则以1s为间隔进行轮询。

    #!/bin/bash echo ----------------------------------------------------------------- while true; do if [ $(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 num do echo $id "-" $num done break 无用逻辑,只是打印出当前连接的设备信息,可省略 else continue fi sleep 1 done echo adb root;adb remount echo ----------------------------------------------------------------- adb shell

     

    总结

    感觉方法有点蠢蠢的,不值得是否还有其它方法。。。

    目前想到的方法就是轮询+adb shell

    最新回复(0)