В прошлой части мы с вами познакомились с базовыми командами Termux'а, настроили SSH соединение с ПК, научились создавать alias'ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами: Поскольку мы теперь понимаем, что делают вводимые команды, то со следующего шага я не буду так подробно расписывать каждое действие, но там где могут быть затруднения, пояснять буду обязательно. Я часто применяю alias'ы, поэтому используемые в этой части сокращения показаны здесь: План готов, можно приступать! И конечно же не забывайте про "волшебный Tab" (См. Часть 1). API как много в этом слове для сердца кодера слилось Если не затрагивать тему Termux:API, то все наши шаги можно было свести к простому пересказу какой-нибудь брошюры типа "Линукс для чайников", как было справедливо подмечено в комментариях к первой части. Для начала установим Termux:API из Google Play Market'а (после не помешает перезапустить Termux):  Далее нам нужно установить пакет API в консоли Termux'а: Для экспериментов я использую Android 5.1.1, для владельцев Android 7 нужно «защитить» Termux: API, зайдя в  ‘Настройки’ > ‘Защищенные приложения’, в противном случае вызовы API, такие как termux-battery-status, будут зависать. (См. wiki проекта) Теперь стоит поближе познакомится с приобретенными возможностями. Самое свежее и подробное описание Termux:API можно найти на wiki проекта. Я же постараюсь выбрать самое наглядное и интересное, что позволит набить руку для самостоятельной работы в дальнейшем. Нетрудно заметить, что возвращаемые значения являются строками, словарями, списками словарей, в общем типами данных, с которыми прекрасно работает Python, поэтому следующим шагом мы его установим. Для установки Python'а пишем в терминале: Теперь у нас установлен 2 и 3 Python. За время работы над статьей, я открыл для себя еще один текстовый редактор nano, который приглянулся мне больше чем vim, давайте его установим: Пользоваться им проще чем vim'ом, и nano имеет более дружественный интерфейс. На Android устройстве все же удобнее vim. По большому счету можно было обойтись и без этого пункта, но поставить Python в Termux и не написать HelloWorld, на мой взгляд, моветон. Я не ставлю своей целью учить кого-либо Python’у, так что не знающие могут просто скопировать код (или начать изучать самостоятельно, благо литературы хватает), а знающие могут и сами что-нибудь наваять. А я "под шумок" еще покажу способ вводить текст в терминале без редактора.  Если в процессе ввода вы не заметили ошибку и уже нажали Enter, то перейти на строку выше не получится, для этого закончите ввод нажав Ctrl + D (можно вообще прервать Ctrl + Z) и повторите все с начала. Поскольку мы использовали ‘>’ то файл будет переписан полностью. По этой причине не рекомендую использовать такой метод ввода, если вы не уверены что напишете код сразу без ошибок. Bash-скрипты это замечательный способ автоматизации работы с терминалом. Скрипт представляет из себя файл с расширением .sh (расширение не обязательно) содержащий набор команд терминала часть из которых мы уже изучили. Вот список большинства команд, все должно работать, но обратите внимание, что это список для "взрослого" Linux’а, а не для Termux’а, а вот просто шикарный материал по bash-скриптам. При помощи скриптов можно автоматизировать практически все монотонные действия. Напишем простейший bash-скрипт выводящий значение из созданной им же переменной, я снова воспользуюсь cat’ом, вы же можете использовать нормальный текстовый редактор, а особо желающие себя потренировать могут использовать echo.  Давайте напишем уже что-нибудь отличающееся от пресловутых HelloWorld’ов, но столь же бесполезное. Наш скрипт будет: Сначала создадим папку для работы и скопируем туда hello-world.py как test.py, создадим в этой папке файлы test.sh и test.txt: Теперь любым удобным способом в файл test.sh запишем скрипт: Теперь находясь в папке bashscript пишем ./test.sh наблюдаем в терминале на Android устройстве:  Вот мы и написали запланированный bash-скрипт. Можно разбавить его выводом в консоль информации по выполнению каждого действия (при помощи echo), это оставлю для читателей. Относительно полезное Сформулируем техзадание
Приложение должно после запуска помещать в буфер обмена случайную строку из файла и оповещать об этом всплывающим сообщением. За основу возьмем bash-скрипт, случайную строку из файла будем извлекать при помощи подпрограммы на Python’е. Составим план работы скрипта: Определимся с названиями директории и файлов приложения: Создаем директорию приложения и переместившись в нее создаем там файлы. Первые два пункта плана скрипта можно объединить конвейером, в итоге, используя Termux:API получаем: В файл source вы можете поместить любой текст логически разделенный на строки, я решил поместить афоризмы: Нам осталось создать подпрограмму извлекающую случайную строку из файла source.
Распишем алгоритм работы подпрограммы: Реализуем алгоритм на Python (я пишу под Python 3.7): После того как файлы созданы и записаны, нужно дать права на исполнение файлу rndstr.sh, и создать alias для быстрого запуска. Теперь введя в терминале rnst мы получим в буфер обмена случайный афоризм, который, например, можно использовать в переписке. Вот мы и написали хоть что-то полезное. Относительно полезное. Я намеренно в последнем шаге не стал приводить скриншоты и не разобрал подробно некоторые действия, расписав только содержимое файлов, чтобы у читателей была возможность поработать самостоятельно. Изначально я планировал показать в этом цикле как пользоваться nmap, sqlmap, но и без меня уже много статей на эту тему. Если есть желание, чтобы я продолжил "Termux шаг за шагом", то ниже есть опрос, а в комментариях можете предложить о чем еще написать. Программист и немного IT-журналист