1

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

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

4

1 回答 1

1

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

然而,在谷歌搜索多一点之后,我意识到我错误地切断了回车。

这是正确的方法:

apk=`echo -n ${apk} | tr -d "\r"`
于 2012-09-24T17:59:47.543 回答