Shell 指令碼在開發中的體驗

來源:互聯網
上載者:User

標籤:shell 體驗 日誌

Shell 指令碼在開發中的體驗


這段時間在開發一個程式,程式輸出有很多日誌。有時候要通過日誌來分析出錯的問題。單獨的查看效率太低分析不到什麼。於是乎就想到了Shell。 記錄檔在安卓的手機裡面!

開發環境 Fedora 、MacOS。

手機Nexus4,Nexus5。

開發工具 vim + arm-gcc。


情形1

需要將一些Bin程式添加到手機裡面,但是一個一個的添加太麻煩於是:


#!/bin/shfor i in $(seq 50 50 500);doadb push "stream_"$i /data/local/tmpdone;


這段代碼 就能處理一批 以stream_開頭的資料檔案,將他們添加到手機裡面


情形2 

通過adb將手機的BIN程式啟動。我這邊因為socket連接埠的問題,需要將BIN程式,完全退出後,才能正常啟動。

每次都是adb shell;ps;kill 之類的操作。不過用指令碼操作後 就很方便了。

#!/bin/sha=`adb shell "ps | grep stream"`echo $apid=`echo $a | cut -d " " -f 2`echo $pidadb shell "kill ${pid}"adb push stream_3 /data/local/tmpadb shell /data/local/tmp/stream_3



指令碼會自動去處理,如果檢測到程式還在運行就kill點,然後再啟動


情形3

分析日誌。 記錄檔在手機的SD卡中。

程式在運行中,我需要檢測啟動並執行狀況。

#!/bin/shwhile true;doadb pull /sdcard/log .tail -n 10 logdone


指令碼會將手機SD卡的檔案,取出到一個目錄裡,然後輸出最後10行。


情形4

 監控手機SD卡裡的某一檔案

#!/bin/shwhile true;doadb shell "df | grep emulated"adb shell "ls /sdcard/ -l | grep stream.mp4"adb shell "ls /sdcard/ -l | grep log"sleep 1;done;



Shell 指令碼在開發中的體驗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.