我想删除 Android 设备上的许多应用程序,它们都以相同的程序包开头。我使用以下命令获得这些:
$ adb shell ls /data/data | grep -i com.company
com.company.android.app.adwidget
com.company.android.app.attendancereports
com.company.android.app.atteventmanagement
com.company.android.app.buttonwidget
com.company.android.app.clockwidget
Run Code Online (Sandbox Code Playgroud)
现在我想对adb uninstall
这些包名中的每一个执行,我想到了使用xargs
:
$ adb shell ls /data/data | grep -i com.company | xargs -n1 echo adb uninstall
adb uninstall com.company.android.app.adwidget
adb uninstall com.company.android.app.attendancereports
adb uninstall com.company.android.app.atteventmanagement
adb uninstall com.company.android.app.buttonwidget
adb uninstall com.company.android.app.clockwidget
Run Code Online (Sandbox Code Playgroud)
看起来它会起作用,所以我删除了echo
:
$ adb shell ls /data/data | grep -i com.company | xargs -n1 adb uninstall
Failure
Failure
Failure
Failure
Failure
Run Code Online (Sandbox Code Playgroud)
但是,独立运行每个命令会产生Success
:
$ adb …
Run Code Online (Sandbox Code Playgroud)