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 に答える