We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Скрипты на Python и Bash для Termux: практические примеры и автоматизация

Подробный гид по написанию и запуску Bash и Python скриптов в Termux. Примеры кода, настройка окружения, автозапуск и интеграция с termux-api.

Termux – это мощный терминал для Android, который предоставляет полноценную Linux‑окружение. Благодаря поддержке пакетов python и bash вы можете писать и исполнять скрипты прямо на смартфоне. В этой статье мы рассмотрим, как подготовить среду, создать простые Bash и Python скрипты, интегрировать их и настроить автоматический запуск.

Установка Termux и подготовка окружения

Для начала установите Termux из официального репозитория F-Droid или Google Play. После первого запуска обновите пакеты и установите необходимые инструменты:

pkg update && pkg upgrade -y
pkg install python bash git termux-api -y

Команда termux-api позволяет скриптам взаимодействовать с функциями Android (вибрация, камера, геопозиция и т.д.).

Создание и запуск Bash‑скриптов

Базовый Bash‑скрипт можно сохранять в любой директории, например в ~/scripts:

mkdir -p ~/scripts
cat > ~/scripts/hello.sh << 'EOF'
#!/data/data/com.termux/files/usr/bin/bash
# Простой скрипт, выводящий дату и время
echo "Привет из Termux! Текущее время: $(date)"
EOF
chmod +x ~/scripts/hello.sh

Запустить скрипт можно командой ~/scripts/hello.sh или bash ~/scripts/hello.sh.

Пример Bash‑скрипта с использованием termux-api

#!/data/data/com.termux/files/usr/bin/bash
# Скачивание текущей погоды и вывод её через уведомление
CITY="Moscow"
WEATHER=$(curl -s "https://wttr.in/${CITY}?format=3")
termux-notification --title "Погода в ${CITY}" --content "${WEATHER}"

Не забудьте установить права выполнения: chmod +x ~/scripts/weather.sh.

Создание и запуск Python‑скриптов

Python‑скрипты сохраняются с расширением .py. Пример простого скрипта, выводящего список установленных пакетов:

mkdir -p ~/scripts
cat > ~/scripts/list_packages.py << 'EOF'
#!/data/data/com.termux/files/usr/bin/python3
import pkgutil
for module in pkgutil.iter_modules():
    print(module.name)
EOF
chmod +x ~/scripts/list_packages.py

Запуск: ~/scripts/list_packages.py или python3 ~/scripts/list_packages.py.

Пример Python‑скрипта с termux-api

#!/data/data/com.termux/files/usr/bin/python3
import subprocess
import json

# Получаем текущие координаты устройства
result = subprocess.run(['termux-location', '-p', 'gps', '-r', '10'], capture_output=True, text=True)
location = json.loads(result.stdout)
lat = location.get('latitude')
lon = location.get('longitude')

# Формируем сообщение и отправляем уведомление
msg = f"Текущие координаты: {lat}, {lon}"
subprocess.run(['termux-notification', '--title', 'Geo‑location', '--content', msg])
EOF
chmod +x ~/scripts/geo_notify.py

Для работы скрипта необходимо предоставить Termux доступ к геолокации: выполнить termux-location -p gps -r 10 один раз и согласиться на запрос.

Интеграция Bash и Python

Иногда удобно комбинировать оба языка. Ниже пример Bash‑скрипта, который вызывает Python‑скрипт для обработки данных, а затем выводит результат:

#!/data/data/com.termux/files/usr/bin/bash
# Генерируем случайный набор чисел и сохраняем в файл
seq 1 10 | shuf > /tmp/numbers.txt
# Вызываем Python‑скрипт для подсчёта суммы
SUM=$(python3 - << 'PY'
import sys
print(sum(int(line) for line in sys.stdin))
PY
 < /tmp/numbers.txt)

echo "Сумма случайных чисел: $SUM"
EOF
chmod +x ~/scripts/both.sh

Автоматизация с помощью планировщика (cron)

Termux предоставляет пакет cronie для планирования задач. Установите и включите его:

pkg install cronie -y
sv-enable crond
sv start crond

Создайте файл crontab, например, ~/mycron:

# Каждый день в 07:30 запускать скрипт погоды
30 7    ~/scripts/weather.sh
# Каждый час проверять геолокацию
0    * ~/scripts/geo_notify.py

Загрузите расписание:

crontab ~/mycron

Лучшие практики разработки скриптов в Termux

  • Всегда указывайте «shebang», указывающий путь к интерпретатору внутри Termux (например, #!/data/data/com.termux/files/usr/bin/bash).
  • Используйте termux-setup-storage один раз, чтобы предоставить доступ к внешнему хранилищу.
  • Храните скрипты в отдельной директории (~/scripts) и добавляйте её в PATH:
    echo 'export PATH=$HOME/scripts:$PATH' >> ~/.bashrc
    source ~/.bashrc
  • Для длительных задач используйте termux-wake-lock, чтобы избежать сна устройства.
  • Логируйте ошибки в отдельный файл, например, 2>> ~/logs/error.log.

Заключение

Termux открывает широкие возможности для разработки на мобильных устройствах: от простых Bash‑утилит до полноценного Python‑приложения, интегрированного с функциями Android через termux-api. Правильная настройка окружения, использование shebang, планировщика задач и соблюдение лучших практик позволяют создавать надёжные и автоматизированные решения.

Если вам нужен профессиональный аудит ваших скриптов, настройка серверных компонентов или разработка кастомных решений под Android, команда RybinskLab готова помочь. Мы предоставляем услуги по консалтингу, разработке и поддержке мобильных и облачных проектов. Свяжитесь с нами, чтобы вывести ваши автоматизационные задачи на новый уровень.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект