Termux langkah demi langkah (Bagian 2)

В bagean pungkasan kita kenal karo perintah dhasar Termux, nyiyapake sambungan SSH menyang PC, sinau carane nggawe alias lan nginstal sawetara keperluan sing migunani. Wektu iki kita kudu luwih maju, kita karo sampeyan:

  • sinau babagan Termux:API
  • nginstal Python lan nano, lan nulis "Hello, donya!" ing Python
  • sinau babagan skrip bash lan nulis skrip nggunakake Termux:API
  • nggunakake script bash, Termux: API lan Python kita bakal nulis program prasaja

Amarga saiki kita ngerti apa perintah input, mula saka langkah sabanjure aku ora bakal njlèntrèhaké saben tumindak kanthi rinci, nanging ing ngendi ana alangan, aku mesthi bakal nerangake.

Aku nggunakake alias banget, supaya singkatan sing digunakake ing bagean iki ditampilake ing kene:

alias updg='apt update && apt upgrade'
alias py='python'

Rencana wis siyap, sampeyan bisa miwiti! Lan mesthi, aja lali babagan "Tab ajaib" (Waca Part 1).

langkah 4

Diving Down the Termux: API Rabbit Hole

API pinten wis nggabung ing tembung iki kanggo jantung coder kang

Yen kita ora ndemek topik Termux: API, mula kabeh langkah kita bisa dikurangi dadi retelling sederhana saka sawetara brosur kaya "Linux for Dummies", kaya sing kacathet ing komentar ing bagean pisanan.

Pisanan, instal Termux:API saka Google Play Market (ora ana masalah kanggo miwiti maneh Termux sakwise):

Termux langkah demi langkah (Bagian 2)

Sabanjure, kita kudu nginstal paket API ing konsol Termux:

updg # Не забываем про alias’ы
apt install termux-api

Kanggo eksperimen aku nggunakake Android 5.1.1, kanggo pamilik Android 7 kudu "nglindhungi" Termux: API kanthi pindhah menyang 'Setelan' > 'Aplikasi sing dilindhungi' yen ora, telpon API kaya termux-battery-status, bakal gantung. (Cm. wiki proyek)

Saiki iku worth njupuk dipikir nyedhaki ing kesempatan angsal. Katrangan paling anyar lan paling rinci babagan Termux:API bisa ditemokake ing wiki proyek. Aku bakal nyoba milih sing paling visual lan menarik, sing bakal ngidini aku ngisi tanganku kanggo karya mandiri ing mangsa ngarep.

Sawetara conto Termux: API

  • status-baterei termux
    Ngasilake kahanan baterei
    Termux langkah demi langkah (Bagian 2)
  • termux-padhang
    Nyetel padhange layar saka 0 nganti 255
    Termux langkah demi langkah (Bagian 2)
  • roti panggang termux
    Nuduhake kabar roti panggang sementara
    Termux langkah demi langkah (Bagian 2)
  • termux-obor
    Kalebu senter
    Termux langkah demi langkah (Bagian 2)
  • termux-wifi-scaninfo
    Ngasilake informasi babagan pindai jaringan Wi-Fi pungkasan
    Termux langkah demi langkah (Bagian 2)

Gampang kanggo ndeleng manawa nilai bali yaiku senar, kamus, dhaptar kamus, umume, jinis data sing dianggo Python, mula langkah sabanjure yaiku nyetel.

langkah 5

Instal Python lan nano

Kanggo nginstal Python, tulis ing terminal:

updg
apt install python
apt install python2

Saiki kita duwe 2 lan 3 Python sing diinstal.

Nalika nggarap artikel kasebut, aku nemokake editor teks nano liyane sing luwih disenengi tinimbang vim, ayo instal:

apt install nano

Luwih gampang digunakake tinimbang vim, lan nano nduweni antarmuka sing luwih ramah pangguna. Ing piranti Android, vim isih luwih trep.

HelloWorld ing Python ing Termux

Miturut lan gedhe, iku bisa kanggo nindakake tanpa item iki, nanging sijine Python ing Termux lan ora nulis HelloWorld, ing mratelakake panemume, iku prilaku ala.

Aku ora nemtokake tujuan kanggo mulang sapa wae Python, supaya sing ora ngerti bisa nyalin kode kasebut (utawa miwiti sinau dhewe, amarga ana literatur sing cukup), lan sing ngerti bisa nggawe dhewe. Lan aku bakal "ing guise" isih nuduhake cara kanggo ngetik teks ing terminal tanpa editor.

cat >hello-world.py     
# Если не указывать источник (напоминаю cat 1.txt > 2.txt)
# то cat будет брать данные из стандартного потока ввода,
# проще говоря вводимое с клавиатуры.

str = ‘Hello, world!’ # присваиваем переменной str значение "Hello, world!"
print (str) # выводим на экран значение из переменной str

# Ctrl + D закончить ввод и записать файл (hello-world.py)

py hello-world.py # запускаем файл (py это alias от python)

Termux langkah demi langkah (Bagian 2)

Yen sampeyan ora weruh kesalahan nalika proses input lan wis menet Enter, sampeyan ora bakal bisa pindhah menyang baris ing ndhuwur, kanggo nindakake iki, mungkasi input kanthi mencet Ctrl + D (sampeyan umume bisa ngganggu Ctrl + Z) lan baleni kabeh saka wiwitan. Awit kita nggunakake '>' banjur file bakal rampung ditindih. Mulane, aku ora nyaranake nggunakake metode input iki kajaba sampeyan yakin manawa sampeyan bakal langsung nulis kode kasebut tanpa kesalahan.

langkah 6

Skrip Bash

Skrip Bash minangka cara sing apik kanggo ngotomatisasi karya terminal sampeyan. Skrip kasebut minangka file kanthi ekstensi .sh (ekstensi opsional) ngemot sakumpulan perintah terminal, sawetara sing wis kita sinau. kene dhaftar printah paling, kabeh kudu bisa, nanging Wigati sing iki dhaftar panjarwa "diwasa" Linux, ora Termux, nanging mung materi gedhe ing skrip bash.

Kanthi bantuan skrip, sampeyan bisa ngotomatisasi meh kabeh tumindak monoton. Ayo nulis script bash paling gampang sing nampilake nilai saka variabel sing digawe, aku bakal nggunakake kucing maneh, sampeyan bisa nggunakake editor teks normal, lan wong-wong sing pengin nglatih awake dhewe bisa nggunakake kumandhang.

cat >test.sh

export str="Привет, Хабр!"
# export создает переменную str
# и присваивает ей значение "Привет, Хабр!"
# Не ставьте пробелы до и после ‘=’

echo $str # Для обращения к переменным перед ними ставится ‘$’

# Ctrl + D

# ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка
# для избавления от ошибки нужно сделать файл test.sh исполняемым

chmod +x test.sh
# chmod изменяет права доступа (+ добавить / - убрать)
# ‘+x’ означает что мы делаем файл исполняемым

./test.sh # Запускаем выполнение нашего скрипта

Termux langkah demi langkah (Bagian 2)

Skrip Bash nganggo Termux:API

Ayo nulis sing beda karo HelloWorlds sing kondhang, nanging ora ana gunane. Skrip kita bakal dadi:

  1. nglakokaké panjalukan API termux-battery-status
  2. nyimpen data sing ditampa menyang file test.txt
  3. print data saka file menyang layar
  4. nglakokake program hello-world.py sing wis ditulis sadurunge
  5. nulis data sing ditampa saka program menyang file test.txt
  6. print data saka file menyang layar
  7. mindhah data saka file menyang clipboard
  8. nampilake isi clipboard
  9. nampilake pesen pop-up karo data saka clipboard

Pisanan, nggawe folder kanggo karya lan nyalin hello-world.py ana test.py, nggawe test.sh lan test.txt file ing folder iki:

mkdir bashscript

cat hello-world.py >> bashscript/test.py

cd bashscript/

touch test.sh test.txt # touch создает файлы

chmod +x test.sh

Saiki, kanthi cara sing trep, tulis skrip menyang file 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

Saiki, ing folder bashscript, kita nulis ./test.sh kita mirsani ing terminal ing piranti Android:

Termux langkah demi langkah (Bagian 2)

Dadi kita nulis skrip bash sing direncanakake. Sampeyan bisa dilute karo output kanggo console informasi ing eksekusi saben tumindak (nggunakake echo), Aku bakal ninggalake iki kanggo nonton.

langkah 7

Ayo padha nindakake soko migunani

Relatif migunani

Ayo dirumusake istilah referensi
Sawise diluncurake, aplikasi kasebut kudu nyelehake baris acak saka file ing clipboard lan menehi kabar kanthi pesen pop-up.

Kita bakal njupuk script bash minangka basis, kita bakal extract baris acak saka file nggunakake subrutin Python. Ayo gawe rencana kerja skrip:

  1. Jalanake subrutin
  2. Transfer asil subrutin menyang clipboard
  3. Tampilake pesen popup

Ayo nemtokake jeneng direktori lan file aplikasi:

  • rndstr folder ing direktori ngarep
    • sumber - file saka ngendi kita bakal njupuk baris
    • rndstr.py - subroutine sing nampilake baris acak saka file sumber kanggo console
    • rndstr.sh - file skrip

Gawe direktori aplikasi lan pindhah menyang lan nggawe file ing kana.

Rong poin pisanan saka rencana skrip bisa digabungake kanthi pipa, minangka asil, nggunakake Termux: API sing kita entuk:

#!/bin/bash

python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы

termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"

Ing file sumber, sampeyan bisa nyelehake teks apa wae kanthi logis dibagi dadi garis, aku mutusake kanggo nyelehake aphorisms:

Daftar file sumber

Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон

Kita mung kudu nggawe subrutin sing ngekstrak string acak saka file sumber.
Ayo nulis algoritma subrutin:

  1. File sumber mbukak
  2. Ngetung jumlah baris ing file sing mbukak
  3. Nutup file (ora ana apa-apa kanggo mbukak kanggo wektu ekstra)
  4. We generate integer acak ing nomer baris saka file sumber
  5. File sumber mbukak
  6. We output baris miturut nomer nomer kui
  7. Nutup file

Kita ngleksanakake algoritma ing Python (Aku nulis ing Python 3.7):

import random  #  импортируем для генерации случайных чисел
import os  #  для получения пути

path = os.path.abspath(__file__)  #  получаем прямой путь до файла rndstr.py
path = os.path.dirname(path)  #  преобразуем в путь до директории
path = path  + '/source'  #  преобразуем в путь до файла source

f = open(path)  #  открываем файл
i = 0  #  обнуляем счетчик
for str in f: i+=1  #  считаем строки файла
f.close  #  закрываем файл

j = int(round(i * random.random()))  #  генерируем целое случайное число от 0 до i

f = open(path)  #  открываем файл
i = 0  #  обнуляем счетчик
for str in f:  #  перебираем строки из файла
    if i == j:  #  если счетчик строк равен сгенерированному числу
        print (str, end='')  #  выводим строку без перехода на новую
        break  #  выходим из цикла
    i+=1  #  увеличиваем счетчик на 1
f.close  #  закрываем файл

Sawise file digawe lan ditulis, sampeyan kudu menehi ijin eksekusi file rndstr.sh, lan nggawe alias kanggo cepet diluncurake.

alias rnst="~/rndstr/rndstr.sh"

Saiki ngetik ing terminal rnst kita bakal njaluk aphorism acak ing clipboard, kang, contone, bisa digunakake ing Correspondence.

Ing kene kita wis nulis paling ora ana sing migunani. Relatif migunani.

PS

Ing langkah pungkasan, aku sengaja ora menehi gambar lan ora nganalisa kanthi rinci sawetara tumindak, mung nulis isi file supaya para pamaca duwe kesempatan kanggo nggarap dhewe.

Ing "Termux langkah demi langkah", aku mikir iku worth rampung. Mesthi, iki mung langkah pisanan, nanging saiki sampeyan bisa maju dhewe.

Kaping pisanan, aku ngrancang kanggo nuduhake ing siklus iki carane nggunakake nmap, sqlmap, nanging tanpa kula wis ana akeh artikel ing topik iki. Yen sampeyan pengin aku nerusake siklus "Termux langkah demi langkah", banjur ana survey ing ngisor iki lan ing komentar sampeyan bisa menehi saran apa maneh kanggo nulis.

Mung pangguna pangguna sing bisa melu survey. mlebunggih.

Terus "Termux step by step"?

  • Ya

  • Ora

2 pangguna milih. Ora ana abstain.

Source: www.habr.com

Add a comment