我有一个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脚本中做错了什么?
答案 0 :(得分:1)
我想出了这个问题。我假设在变量中有一个回车并且已经对此进行了测试,但它仍然无效。
然而,经过谷歌搜索后,我意识到我正在错误地切断回车。
这是正确的方法:
apk=`echo -n ${apk} | tr -d "\r"`