Я здесь новый. Я пытаюсь написать сценарий de-bloat для Android. Ниже мой код: -Как читать пробелы в цикле 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
Но он также дает тот же результат. Пожалуйста, помогите мне с этим. Вывод должен быть таким: -
Beauty\ Circle
Cam\ Scanner
так, что я пишу мой дальнейший код, как: -
for f in $(echo "list");
do
rm -rf /sdcard/$f
echo -e "Removed \/sdcard\/$f"
done
Спасибо.
PS: Я не хочу использовать
rm -rf /sdcard/$f*
Этот вопрос имеет особое значение для хранения целых команд, а не только аргументов. – chepner