Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Скрипт для ADB  (Прочитано 3194 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Скрипт для ADB
« : 12 Марта 2014, 11:46:59 »
Уважаемые коллеги, прошу помощи в написании bash-скрипта для ADB. Суть скрипта в следующем: имеется zip-файл прошивки CyanogenMod для смартфона SGSII, необходимо предварительно почистить ее перед установкой.
Для примера есть батник для венды:
(Нажмите, чтобы показать/скрыть)
Нужен скрипт под Ubuntu для удаления этих же файлов из прошивки.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Скрипт для ADB
« Ответ #1 : 12 Марта 2014, 11:52:12 »
Ну если речь идет просто об удалении то замените del на rm, но вот про ключи (/S /Q) - не скажу - под рукой нету хелпа во виндовому делу (а искать ломает).
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #2 : 12 Марта 2014, 12:03:40 »
Цитировать
замените del на rm
можно быстро фокус.
Wars ~.o

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #3 : 12 Марта 2014, 12:12:36 »
Дайте весь листинг файлов (чтоб лишнего не удалить)
что означают опции /s и /q (принципиально ли их наличие)
Файл в виде архива zip и внутри него надо выполнить удаление?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #4 : 12 Марта 2014, 12:17:49 »
/s Удаление заданных файлов в каталоге и всех его подкаталогах. Выводит имена удаляемых файлов.
/q Задание автоматического режима. Не выводится подтверждение на удаление

Да, файл в архиве zip и внутри него нужно удалить.

Файлы:
(Нажмите, чтобы показать/скрыть)

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #5 : 12 Марта 2014, 12:34:48 »
Не знаю насколько нужен скрипт
Код: (bash) [Выделить]
zip -d zip-file system/app/Term.apk system/app/Email.apk … system/media/audio/ui/camera_click.\* … system/tts/\*Думал сократить команду если бы Вы дали полный листинг файлов (хотя б тех папок, где идёт выборочное удаление)
Как вариант можно сохранить список (построчный) удаляемых файлов (обязательно экраинирование \* или брать в кавычки " всю строку ) в отдельный файл и вызывать его
Код: (bash) [Выделить]
cat list_del_files | zip -d zip-file -@
« Последнее редактирование: 12 Марта 2014, 12:47:46 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #6 : 12 Марта 2014, 12:43:49 »
Извините, я немного не понимаю вас. Под спойлером именно тот (полный) список конкретных файлов для удаления внутри архива. С указанием папок, в которых они расположены.

"Лист файлов сохранить в отдельный файл..." Какой файл? Текстовый? И сделать его исполняемым? Вместо "zip" в вашем коде вставить имя моего zip-архива?
« Последнее редактирование: 12 Марта 2014, 12:55:16 от blinoff82 »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #7 : 12 Марта 2014, 13:21:30 »
Список файлов на удаление сохранить в отдельный файл (в линуксе почти все "текстовые"), например del_files.list. Построчно, т.е. каждый файл на отдельной строке. Если присутствует символ «звёздочка» (*) , то его надо экранировать «обратным слэшем» (\) или всю строку заключать в «кавычки» ("). Напоминаю, на всякий случай, что в Линукс пути прописываются «простыми слэшами» (/), например system/app/Term.apk
zip это команда, zip-file — это Ваш «zip-файл прошивки CyanogenMod для смартфона SGSII».
Полный листинг — это список всех файлов в архиве, а не только тех, что надо удалить:unzip -l zip-file
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #8 : 12 Марта 2014, 13:38:14 »
Переименовал zip-архив для удобства написания в cm
(Нажмите, чтобы показать/скрыть)

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #9 : 12 Марта 2014, 13:43:55 »
А там они есть? Покажите же unzip -l cm
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #10 : 12 Марта 2014, 14:08:32 »
 :o Хм... Папка "app" не видна. Что за пижня... (под спойлером не все, слишком много символов)
 
(Нажмите, чтобы показать/скрыть)
Однако в "priv-app" есть те файлы, которые надо удалить.
« Последнее редактирование: 12 Марта 2014, 14:10:04 от blinoff82 »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #11 : 12 Марта 2014, 14:32:42 »
Выложите свой del_files.list (может не правильно написали что-то?) Выведет 1 файл?unzip -l cm "system/priv-app/PicoTts.apk"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #12 : 12 Марта 2014, 14:37:11 »
blinoff@blinoff-pc ~ $ unzip -l cm "system/priv-app/PicoTts.apk"
Archive:  cm.zip
signed by SignApk
  Length      Date    Time    Name
---------  ---------- -----   ----
    18145  2008-02-28 18:33   system/priv-app/PicoTts.apk
---------                     -------
    18145                     1 file

Хм... Даже из папки app по одному показывает.
blinoff@blinoff-pc ~ $ unzip -l cm "system/app/Email.apk"
Archive:  cm.zip
signed by SignApk
  Length      Date    Time    Name
---------  ---------- -----   ----
  5279050  2008-02-28 18:33   system/app/Email.apk
---------                     -------
  5279050                     1 file
« Последнее редактирование: 12 Марта 2014, 15:21:25 от blinoff82 »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #13 : 12 Марта 2014, 15:50:36 »
Всё-таки без кавычек в del_files.list. Уберитеsed -i 's/\"//g' del_files.listи попробуйте снова.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн blinoff82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Скрипт для ADB
« Ответ #14 : 12 Марта 2014, 16:00:06 »
Спасибо огромное! :coolsmiley:
[SOLVED]

PS: последний вопрос: можно ли как-то это сделать с помощью одного исполняемого файла? Как батник в венде. То есть, в домашней папке лежит del_file.list и сам скрипт. Я копирую очередное обновление прошивки в домашнюю папку, переименовываю как написано в скрипте и запускаю его.
« Последнее редактирование: 12 Марта 2014, 16:03:20 от blinoff82 »

 

Страница сгенерирована за 0.028 секунд. Запросов: 21.