Android / Linux: удалить несколько файлов, содержащих @, за исключением 2 файлов

287
Alien

Я пытаюсь удалить с помощью Terminal Emulator или Termux файлы, расположенные в / data / dalvik-cache / arm. Я хочу удалить все файлы, кроме 2 из них: "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
Scott
  1. Первая строка вашего скрипта - это комментарий. Если вы хотите сказать, что это «челка», она должна начинаться с #! (вы не указали !).
  2. ... и тогда это может работать лучше, если вы скажете #!/system/bin/bash.
Большое спасибо! Я написал сценарий в спешке и, должно быть, забыл о! Я использовал bash, предоставленный Termux, и это сработало! Еще раз спасибо! Alien 5 лет назад 0