0
ここは新しいです。私はAndroidのためのde-bloatスクリプトを書こうとしています。以下 が私のコードです: -FORループでスペースを読み取る方法
#/system/bin/sh
clear
list=$(cat <<'EOF'
Beauty\ Plus
blackmart
Cam\ Scanner
Tencent
EOF
)
for f in $(echo "$list");
do
if [ -e /sdcard/$f* ];
then
rm -rf /sdcard/$f*
echo -e "Deleted /sdcard/$f*."
else
echo -e "/sdcard/$f* not found."
fi
done
は今ここに問題がある、それは別のエントリとしてスペースで発生の両方を読み込みます。引用符で囲まれた変数でエコーを使用するようにしました。
私はちょうどその後
echo "$list"
をしようとすると、それは、所望の出力を提供します。私はまた、使用しようとしました
echo "$list" | while read f
do
echo $f
done
しかし、それは同じ出力を与えます。 これを手伝ってください。
for f in $(echo "list");
do
rm -rf /sdcard/$f
echo -e "Removed \/sdcard\/$f"
done
ありがとう - は:として私は、さらにコードを書くように
Beauty\ Circle
Cam\ Scanner
- : 出力は次のようにする必要があります。
PS:私はあなたが本当に(配列をサポートしていませんシェルであるかもしれない)/bin/sh
でスクリプトを実行する必要がある場合は
rm -rf /sdcard/$f*
この質問は、引数だけでなくコマンドライン全体を保存することに重点を置いています。 – chepner