Running Shell-Skript in Android-AdB-Shell

Ich versuche ein Skript zu erstellen, um meine App über die AdB-Shell zu finden und aus dem Android-Emulator zu entfernen.

Das ist was ich habe:

adb shell "
cd data/app
for app in com.mycompany.*.apk;
do
    echo $app
    bundle=$(echo $app | sed 's/-[0-9]//g')
    echo 'bundle name is $bundle'
    if [ '$bundle' != '' ];then
        adb uninstall $bundle
    else
        echo 'No apps found'
    fi
done
exit
"

Aber es scheint nicht wie erwartet zu funktionieren.

myfor loop durchläuft nichts. Wenn ich die Befehle genau wie oben in der Shell manuell ausführe, funktioniert das. Wenn ich sie jedoch über ein Shellscript ausführe, wird dasfor loop sieht die Dateien oder nichts. Wenn ich ein "ls" hinzufüge, wird der Inhalt des Ordners zwar korrekt gedruckt ... Also;echo $app gibt nichts aus (eine leere Zeichenkette) und;echo 'bundle name is $bundle' printsbundle name is.

Deswegen geht es offensichtlich nie in meinen if-Block, fällt unter meine else-Klausel und das war's.

Was mache ich falsch? Ich bin nicht sehr erfahren in Shell-Skripten, ich würde mich über jede Idee freuen.

Mein Ziel dabei ist es, eine Shell-Funktion zu haben, die ich aufrufen kann, um den Prozess des Entfernens meiner App aus dem Emulator zu automatisieren, ohne sie ziehen und manuell deinstallieren zu müssen. Andere Ideen sind ebenfalls sehr willkommen.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage