Bash-скрипт с Termux:API
Termux - one ❤️
Прошу обратить внимание! Автор данной статьи не несёт ответственности за любые последствия вслед использования предоставленной информации. Все материалы опубликованы исключительно в образовательных целях!
Давайте напишем уже что-нибудь отличающееся от пресловутых HelloWorld’ов, но столь же бесполезное. Наш скрипт будет:
выполнять запрос API termux-battery-status
сохранять полученные данные в файл test.txt
выводить данные из файла на экран
выполнять написанную ранее программу hello-world.py
полученные от программы данные записывать в файл test.txt
выводить данные из файла на экран
переносить данные из файла в буфер обмена
выводить на экран содержимое буфера обмена
выводить всплывающее сообщение с данными из буфера обмена
Сначала создадим папку для работы и скопируем туда hello-world.py как test.py, создадим в этой папке файлы test.sh и test.txt:
mkdir bashscript cat hello-world.py >> bashscript/test.py cd bashscript/ touch test.sh test.txt # touch создает файлы chmod +x test.sh
Теперь любым удобным способом в файл test.sh запишем скрипт:
#!/bin/bash # В начале каждого скрипта принято ставить #! (называется шебанг) # после идет указание на шелл для которой написан скрипт clear # очистим окно терминала termux-battery-status > test.txt # пункты 1 и 2 из намеченного функционала cat test.txt # пункт 3 python test.py > test.txt # пункт 4 и 5 cat test.txt # пункт 6 cat test.txt | termux-clipboard-set # пункт 7 # | это конвейер. переносит данные с выхода одного потока на вход другого termux-clipboard-get # пункт 8 termux-clipboard-get | termux-toast # пункт 9
Теперь находясь в папке bashscript пишем ./test.sh наблюдаем в терминале на Android устройстве:

Вот мы и написали запланированный bash-скрипт. Можно разбавить его выводом в консоль информации по выполнению каждого действия (при помощи echo), это оставлю для читателей.
bash
Bash-скрипты это замечательный способ автоматизации работы с терминалом. Скрипт представляет из себя файл с расширением .sh (расширение не обязательно) содержащий набор команд терминала часть из которых мы уже изучили. Вот список большинства команд, все должно работать, но обратите внимание, что это список для "взрослого" Linux’а, а не для Termux’а, а вот просто шикарный материал по bash-скриптам.
При помощи скриптов можно автоматизировать практически все монотонные действия. Напишем простейший bash-скрипт выводящий значение из созданной им же переменной, я снова воспользуюсь cat’ом, вы же можете использовать нормальный текстовый редактор, а особо желающие себя потренировать могут использовать echo.
cat >test.sh export str="Привет, TermuxOne!" # Создаем переменную str # и присваиваем ей значение "TermuxOne!" # Не ставьте пробелы до и после ‘=’ # export сделает переменную доступной вне скрипта (т.е. можно без него) echo $str # Для обращения к переменным перед ними ставится ‘$’ # Ctrl + D # ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка # для избавления от ошибки нужно сделать файл test.sh исполняемым chmod +x test.sh # chmod изменяет права доступа (+ добавить / - убрать) # ‘+x’ означает что мы делаем файл исполняемым ./test.sh # Запускаем выполнение нашего скрипта
Один добрый человек справедливо заметил, что команда export лишняя если переменная используется в рамках одного скрипта, так как вынесет переменную в окружение, то есть сделает ее доступной вне скрипта, занимая лишнюю память. Таким образом после выполнения test.sh мы сможем обращаться к переменной $str из командной строки.