我有一个bash脚本,用于卸载某些加载到我们设备上的软件。

#!/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的命令都会失败。但是,当我在bash脚本之外运行完全相同的命令(adb uninstall projects.abd.def)时,它将成功执行。

我在bash脚本中做错了什么?

最佳答案

我发现了问题。我假设变量中有一个回车符,并对此进行了测试,但仍然无法正常工作。

但是,在进一步搜索之后,我意识到我错误地切断了回车。

这是正确的方法:

apk=`echo -n ${apk} | tr -d "\r"`

09-25 21:55
查看更多