Shell 脚本在开发中的体验
Shell 脚本在开发中的体验
这段时间在开发一个程序,程序输出有很多日志。有时候要通过日志来分析出错的问题。单独的查看效率太低分析不到什么。于是乎就想到了Shell。 日志文件在安卓的手机里面!
开发环境 Fedora 、MacOS。
手机Nexus4,Nexus5。
开发工具 vim + arm-gcc。
情形1
需要将一些Bin程序添加到手机里面,但是一个一个的添加太麻烦于是:
#!/bin/sh for i in $(seq 50 50 500); do adb push "stream_"$i /data/local/tmp done;
这段代码 就能处理一批 以stream_开头的数据文件,将他们添加到手机里面
情形2
通过adb将手机的BIN程序启动。我这边因为socket端口的问题,需要将BIN程序,完全退出后,才能正常启动。
每次都是adb shell;ps;kill 之类的操作。不过用脚本操作后 就很方便了。
#!/bin/sh a=`adb shell "ps | grep stream"` echo $a pid=`echo $a | cut -d " " -f 2` echo $pid adb shell "kill ${pid}" adb push stream_3 /data/local/tmp adb shell /data/local/tmp/stream_3
脚本会自动去处理,如果检测到程序还在运行就kill点,然后再启动
情形3
分析日志。 日志文件在手机的SD卡中。
程序在运行中,我需要检测运行的状况。
#!/bin/sh while true; do adb pull /sdcard/log . tail -n 10 log done
脚本会将手机SD卡的文件,取出到一个目录里,然后输出最后10行。
情形4
监控手机SD卡里的某一文件
#!/bin/sh while true; do adb shell "df | grep emulated" adb shell "ls /sdcard/ -l | grep stream.mp4" adb shell "ls /sdcard/ -l | grep log" sleep 1; done;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。