Типография «Новый формат»
Заметка «4. Termux: подготовка места. Bash: архивация директорий.» (страница 2 из 2)
Тип: Заметка
Раздел: ИИ-творчество
Темы: Зачемнадыии
Автор:
Читатели: 7 +7
Дата:

4. Termux: подготовка места. Bash: архивация директорий.

так:

 
export PATH="$PATH:$HOME/bin"
 

проверим:

 
echo $PATH
 

Вывод:

 
/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/home/bin
 

Теперь скрипты  zip-mynote  и  zip-myscript  можно запускать в Termux, просто написав их имена в любой директории.
Осталось только ввести ноаый путь в файл настроек Termux, чтобы каждый раз не добавлять его вручную.
Вставим в начало файла $PREFIX/etc/bash.bashrc строку:

 
export PATH="$PATH:$HOME/bin"
 

выйдем из Термукс командой  exit , снова зайдём в Термукс и проверим результат:

 
echo $PATH
 

Должно быть напечатано:

 
/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/home/bin
 

К основному каталогу команд Termux добавился ещё и наш домашний каталог, поэтому теперь в командной строке будут работать и команды из  ~/bin 

 

X За пределами Термукс

Сделаем эти команды исполняемыми прямо с рабочего стола телефона, без открытия приложения Termux.

Для этого в томже магазине F-Droid в котором был скачан Termux, скачаем приложение  Termux:Wiget .
Оно позволяет запускать исполняемые файлы из определённых директорий внутри Termux.
Создадим эти директории, если их ещё не существует:

 
mkdir ~/.shortcuts
mkdir ~/.shortcut/tasks
 

Файлы, которые будут находится в директории  .shorcuts  будут исполнятся со входом в Termux,
а файлы из директории  .shortcuts/tasks   будут запускаться в фоновом режиме без открытия сессии Termux.

Скопируем в новую директорию нужные файлы:

 
cd ~/.shortcuts/tasks
cp ~/bin/zip-myscript .
cp ~/bin/zip-mynote .
 

После этого вы можете открыть меню виджетов вашего лаунчера, выбрать Termux:Widget и разместить его на главном экране.
Окно  виджета, скорее всего, окажется пустым, и нужно будет нажать на кружочек в правом верхнем углу виджета для обновления содержимого.
После этого в окне появятся две строки с именами скриптов, при нажатии на которые, они буудут исполняться.

Так что  теперь достаточно два раза тыкнуть пальцем в виджет Термукс, немного подождать, зайти в файловый менеджер, открыть папку  zip  и скопировать в облако архивные файлы.
Вся возня, описанная выше, была нужна  именно для этого:)
Эти действия очень похожи на программирование, но обычно называются администрированием устройства, для удобства  пользования этим устройством.

XI termux-api

Наши программы-архиваторы исправно работают через виджет, но совсем не понятно, когда эти программы завершают свою работу.
Было бы неплохо, чтобы они печатали какие-то сообщения на рабочем столе телефона.

Для взаимодействия Termux с экраном телефона и другими функциями нужно скачать из магазина  F-Droid  аддон  Termux:API .
Этот аддон раскрывает функциональность устройства как API для программ командной строки в Termux.

После установки Termux:API на устройство, нужно зайти в Termux и скачать-установить ещё один модуль:

 pkg install termux-api 

при этом появится множество команд для работы с телефоном, в том числе и для печати всплывающих окон с сообщениями.
Из папки  ~/.shortcuts/tasks  разрешено посылать сообщения только командой  termux-toast , поэтому разберём подробнее её возможности.

XII termux-toast

 termux-toast  — утилита командной строки в Termux, отображающая кратковременные всплывающие уведомления (тосты) на экране Android‑устройства. По принципу работы напоминает метод  Toast.makeText()  в Android‑разработке.

Ключевые особенности:

появляется в нижней части экрана;
автоматически исчезает через 2–3 секунды (короткое) или 3,5 секунды (длинное);
не попадает в центр уведомлений;
не требует взаимодействия пользователя;
работает в фоновом режиме (даже если терминал закрыт);
не блокирует выполнение скрипта.

Базовый синтаксис:

 
termux-toast [опции] "текст сообщения"
 

Доступные опции:

 -s ,  --short  — Короткое отображение (2–3 сек)
 -l ,  --long  — Длинное отображение (~3,5 сек)
 -c ,  --center  — Выравнивание по центру экрана
 -g ,  --gravity <позиция>  — Точное позиционирование:  top ,  bottom ,  center ,  fill ,  left ,  right 
 -b ,  --background <цвет>  — Цвет фона (HEX)
 -t ,  --text-color <цвет>  — Цвет текста (HEX)

XIII Обновление скриптов

Теперь доработаем исходники наших скриптов в директории  /storage/emulated/0/myscript/bash .
Используем например редактор QuickEdit и внесём в тексты следующие изменения:

файл  zip-myscript 

 
#!/data/data/com.termux/files/usr/bin/bash

#- Program: `zip-myscript`
#+ Создаёт zip-архив из указанной директории myscript
#+ в общем хранилище
#+ Требуeтся утилитa `zip`
#+ и пакет `termux-api`

#адрес внутренней памяти
cd /storage/emulated/0

zip -r zip/myscript_$(date +"%Y-%m-%d_%H-%M-%S").zip myscript

termux-toast "Ваш архив создан"
 

Файл  zip-mynote 

 
#!/data/data/com.termux/files/usr/bin/bash

#- Program: `zip-mynote`
#+ Создаёт zip-архив из указанных директорий
#+ в общем хранилище
#+ Требуeтся утилитa `zip`
#+ и пакет `termux-api`

#адрес внутренней памяти
cd /storage/emulated/0

zip -r zip/mynote_$(date +"%Y-%m-%d_%H-%M-%S").zip Notepad Notepad2 Notepad3 Notepad4 Note2 Note3 Note4 Note5 fastnote fastnote2 fastnote3 fastnote4 Obsidian ZettelNotes

termux-toast "Ваш архив создан"
 

При желании, можно сделать сообщения цветными, сместить их и т.д.

Входим в термукс и копируем их:

 
cd myscripts/bash
cp zip-myscript zip-mynote ~/.shortcuts/tasks/
 

Даём права на исполнение:

 
cd ~/.shortcuts/tasks
chmod +x zip-mynote zip-myscript
 

Выходим из Термукс, обновляем окно виджета и можем с комфортом пользоваться.

Обсуждение
12:55(1)
Александр Красилов
13:05(1)
J04 D1v1510n
Надоел детский садик
Люди даже файловым менеджером пользоваться не умеют и зачем—то скачивают приложения облаков   гугл яндекс дроп и пр. превращая  мобильники в чурюпахи 0о0
Современный мир — это несколько поколений рекламозависимых   потреблятелей
19:13(1)
Александр Красилов
А что такое скрипт?
19:26
J04 D1v1510n
тестовый файл с исходным текстом программы.
Ассемблер, С, go и пр. превращают эти тексты в файлы машинного кода с загрузчиками, которые можно запускать как самостоятельные приложения.
Также скрипты — это тексты программ для языков которые исполняют их строка за строкой, не создавая файлов с машкодом
Такие языки называют интерпретируемымм или скриптовыми (Bash, Python, Ruby и др.)

Упрощённо: скрипт ≈ файл с текстом программы
Книга автора
Самый страшный день войны 
 Автор: Виктор Владимирович Королев