2012-09-24 75 views
1

我有一個bash腳本來卸載一些加載到我們設備上的軟件。在bash中使用adb會給出不同的結果

#!/bin/bash 
APKS=`adb shell pm list packages projects` 

for apk in $APKS 
do 
    apk=${apk##package:} 
    echo "Uninstalling: $apk" 
    adb uninstall $apk 
done 

當我運行這個腳本時,所有卸載apk的命令都失敗。但是,當我運行完全相同的命令(adb uninstall projects.abd.def)在bash腳本之外時,它會成功執行。

我在bash腳本中做了什麼錯誤?

+0

的[ADB卸載命令不會在Bash shell中的語句工作]可能重複(http://stackoverflow.com/questions/7426070/adb-uninstall-命令犯規,工作在bash的殼換言) – prolink007

回答

1

我想出了這個問題。我認爲在變量中有一個回車符,並且已經測試過了,但它仍然不起作用。

但是,谷歌多一點後,我意識到我正在切斷回車不正確。

這是正確的做法:

apk=`echo -n ${apk} | tr -d "\r"` 
相關問題