2013-01-16 67 views
0

我一直在試圖編寫一個腳本來硬化android。我沒有成功!腳本跑得太快!可能

我正在通過模擬器運行一個AVD,並嘗試了這兩個android外殼和bash外殼,我加載。這個腳本很簡單,你會在下面看到,每個命令都可以獨立運行,但是在一個腳本中它只是運行得太快或者其他東西。

我知道在頂部沒有shebang,但這是因爲我插入一個錯誤。

我的腳本是:

echo    ANDROID 
echo  HARDENING STARTED 
device=/dev/block/mtdblock0 
mount -o rw,remount $device /system 
#removing files in the /system/xbin directory 
rm /system/xbin/tcpdump 
rm /system/xbin/su 
#removing files in the /system/bin directory 
rm /system/bin/bootanimation 
rm /system/bin/dumpstate 
rm /system/bin/ping 
rm /system/bin/ping6 
echo     ANDROID 
echo    HARDENING COMPLETE 

我已經採取了一切縮進了,因爲我認爲這可能會導致錯誤和目錄和文件肯定存在。我已經穿着這件衣服三天了,穿着很瘦。

我在開始時選擇了一個if語句來選擇其他手機上的設備,但爲了減少錯誤(這就是爲什麼我聲明設備而不是掛載)的原因。

這裏是錯誤:

   ANDROID 
     HARDENING STARTED 
mount: no such file or directory exist 
, no such file or directorytcpdump 
, no such file or directorysu 
, no such file or directoryootanimation 
, no such file or directoryumpstate 
, no such file or directorying 
, no such file or directorying6 

    ANDROID 
HARDENING COMPLETED 

注意合併目錄在這之後是不是筆誤。

感謝瑞安

+0

看來$ device變量是空的;你可以在mount命令之前嘗試'echo $ device'嗎? – Alepac

回答

3

您編輯的Windows系統文件,它有DOS樣式結束線(<cr><lf>)。將其轉換爲使用Unix風格的行尾標記(<lf>),它應該可以正常工作。任何體面的程序員編輯都有能力爲你做到這一點,或者你可以do it using standard command line tools

順便說一句,shell根本不在乎縮進。這:

echo Hello 
echo world. 

是一樣的:

echo Hello 
       echo world. 
+0

錯綜複雜的錯誤消息清楚地表明這種情況。文件名被打印出來,以'\ r'結尾,所以光標移回到第一列,錯誤信息被打印在文件名的開頭。它解釋了即使是來自掛載的錯誤,因爲設備名稱最後也會得到'\ r'。 –

1

更改結束Unix類型的線,將解決你的所有問題。