2013-10-30 54 views
0

我正在嘗試編寫創建新文件夾(1,2,...)的腳本並收集sdcard中的日誌,以便每次重新啓動時使用.e每次設備重新啓動時一個文件夾將會在SD卡中創建。用於創建新文件夾的外殼腳本

我有這個腳本的問題是,如果設備重新啓動2000次然後我沒有足夠的空間來收集文件夾中的日誌,所以我計劃的是文件夾計數必須是5只我的意思是如果它計數多於5然後最上面的文件夾應該刪除。

#!/system/bin/sh 
sleep 2 


#create crash log dir on sdcard 

if [ ! -d /sdcard/crash_logs ]; then 
    mkdir /sdcard/crash_logs 
fi 

if [ ! -f /sdcard/crash_logs/log_num.txt ]; then 
    echo "1" > /sdcard/crash_logs/log_num.txt 
fi 

num=$(cat /sdcard/crash_logs/log_num.txt) 
if [ -z $num ]; then 
    num=1 
fi 

echo $((num+1)) > /sdcard/crash_logs/log_num.txt 

if [ ! -d /sdcard/crash_logs/$num ]; then 
    mkdir /sdcard/crash_logs/$num 
fi 
+0

我想弄清楚你的問題是什麼。你似乎只是給你的意圖,而不是你遇到的問題。你能否更具體地解答你的問題? – cdarke

+0

請參閱此腳本以測試Android設備,我們正在重新啓動設備並收集內部sdcard中的日誌。可以說我們正在運行2000次迭代測試,而我們的內部sdcard有1 gb空間,那麼它不會收集最後一次運行的空間。 – Maverick

+0

簡而言之,我希望文件夾數量不應超過5個。如果6個文件夾獲取創建,則1個foldeer應該被刪除。請讓我知道,如果我解釋得當 – Maverick

回答

1

您可以迭代1 ... 5個數字。

#get current number 
num=... 
#next number can be from 1 to 5: 
num=$((($num+1)%5 +1)) 
#remove previous logs if any 
rm -f /sdcard/crash_logs/$num/* 
#copy log...