您的位置:首页 > 运维架构 > Shell

Shell 脚本在开发中的体验

2014-10-13 20:59 148 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 日志 体验