我有一个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"`