1

Я пытаюсь удалить с помощью Terminal Emulator или Termux файлы, расположенные в /data /dalvik-cache /arm. Я хочу удалить все файлы, кроме двух из них:"system @ framework @ boot.art" и "system @ framework @ boot.oat". Проблема в том, что в названии файлов 2 раза встречается специальный символ "@".

Моя цель - написать очень простой скрипт для bash, в котором я просто монтирую систему, удаляю все, кроме этих 2, размонтирую и перезагружаюсь. Может ли кто-нибудь помочь мне? Я довольно новичок во всем этом. Я искал много веб-сайтов, man-страниц, но без удачи смешал удаление нескольких файлов, содержащих специальные символы, и в то же время исключая некоторые.

Вот что я пытаюсь:

#/system/bin/sh
mount -o rw,remount,rw /system
cd /data/dalvik-cache/arm
shopt -s extglob
rm -v !("system@framework@boot.art"|"system@framework@boot.oat")        --> Syntax error
mount -o ro,remount,ro /system
reboot

Как указано, команда rm (с расширенным подстановочным знаком) получает "синтаксическую ошибку".

1 ответ1

0
  1. Первая строка вашего скрипта - это комментарий.  Если вы хотите сказать, что это «челка», она должна начинаться с #! (Вы пропустили !).
  2. ... и тогда это может работать лучше, если вы скажете #!/system/bin/bash .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .