Termux nhanho nhanho (Chikamu 2)

В chikamu chekupedzisira takazivana nemirairo yekutanga yeTermux, kumisikidza SSH yekubatanidza kuPC, takadzidza kugadzira alias's uye nekuisa akati wandei anobatsira ekushandisa. Panguva ino tinofanira kuenderera mberi, tinewe:

  • dzidza nezve Termux:API
  • isa Python uye nano, uye nyora "Mhoro, nyika!" muPython
  • dzidza nezve bash zvinyorwa uye nyora script uchishandisa Termux: API
  • tichishandisa bash script, Termux: API uye Python isu tichanyora chirongwa chakareruka

Sezvo isu zvino tava kunzwisisa izvo mirairo yakapinda inoita, kubva padanho rinotevera ini handisi kuzotsanangura chiitiko chimwe nechimwe zvakadzama, asi panogona kunge paine matambudziko, ini ndichatsanangura.

Ini ndinoshandisa aliases zvakanyanya, saka mapfupiso anoshandiswa muchikamu ichi anoratidzwa pano:

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

Urongwa hwakagadzirira, unogona kutanga! Uye zvechokwadi, usakanganwa nezve "magic Tab" (Ona Chikamu 1).

vanotsika 4

Kunyura Pasi Termux: API Rabbit Hole

API yakawanda sei yakabatanidzwa muizwi iri kumoyo wekodha

Kana isu tikasabata pamusoro weiyo Termux: API, ipapo nhanho dzedu dzese dzinogona kuderedzwa kusvika nyore kudzokorodza kweimwe bhurocha se "Linux yeDummies", sezvakacherechedzwa mumashoko kuchikamu chekutanga.

Kutanga, isa Termux: API kubva kuGoogle Play Market (hazvikuvadze kutangazve Termux mushure):

Termux nhanho nhanho (Chikamu 2)

Tevere, isu tinofanirwa kuisa iyo API package muTermux console:

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

Zvekuyedza ini ndiri kushandisa Android 5.1.1, yevaridzi veAndroid 7 vanofanirwa "kudzivirira" Termux: API nekuenda ku'Settings'> 'Protected Apps' zvimwe API inofona senge. termux-battery-status, acharembera. (Cm. projekiti wiki)

Zvino zvakakodzera kuti tinyatsotarisisa mikana yakawanikwa. Iyo yazvino uye yakadzama tsananguro ye Termux: API inogona kuwanikwa pa projekiti wiki. Ini ndichaedza kusarudza zvinonyanya kuona uye zvinonakidza, izvo zvichandibvumira kuzadza ruoko rwangu nokuda kwebasa rakazvimirira mune ramangwana.

Mimwe Termux: API mienzaniso

  • termux-bhatiri-mamiriro
    Inodzosa mamiriro ebhatiri
    Termux nhanho nhanho (Chikamu 2)
  • termux-kupenya
    Inoseta kupenya kwechidzitiro kubva pa0 kusvika pa255
    Termux nhanho nhanho (Chikamu 2)
  • termux-toast
    Inoratidza chiziviso chenguva pfupi
    Termux nhanho nhanho (Chikamu 2)
  • termux-torch
    Inosanganisira tochi
    Termux nhanho nhanho (Chikamu 2)
  • termux-wifi-scaninfo
    Inodzosa ruzivo rwekupedzisira scan yeWi-Fi network
    Termux nhanho nhanho (Chikamu 2)

Zviri nyore kuona kuti hunhu hwekudzoka tambo, maduramazwi, rondedzero yemaduramazwi, kazhinji, mhando dzedhata dzinoshanda naPython zvakanyanya, saka danho rinotevera nderekumisa.

vanotsika 5

Isa Python uye nano

Kuisa Python, nyora mune terminal:

updg
apt install python
apt install python2

Iye zvino tine 2 uye 3 Python yakaiswa.

Ndichiri kushanda pachinyorwa, ndakawana imwe nano text editor yandaida kupfuura vim, ngatiiise:

apt install nano

Zviri nyore kushandisa pane vim, uye nano ine mushandisi-inoshamwaridzika interface. Pane Android mudziyo, vim ichiri nyore.

HelloWorld muPython kuTermux

Kakawanda, zvaikwanisika kuita pasina chinhu ichi, asi kuisa Python muTermux uye kusanyora HelloWorld, mumaonero angu, itsika dzakaipa.

Ini handina chinangwa chekudzidzisa chero munhu Python, saka avo vasingazive vanogona kungokopa iyo kodhi (kana kutanga kudzidza vega, sezvo paine mabhuku akakwana), uye avo vanoziva vanogona kugadzira chimwe chinhu ivo pachavo. Uye ini "pasi pechifukidzo" ndichiri kuratidza nzira yekupinda mameseji mune terminal pasina mupepeti.

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 nhanho nhanho (Chikamu 2)

Kana iwe usina kuona chikanganiso panguva yekuisa uye watodzvanya Enter, saka haugone kuenda kumutsara uri pamusoro, kuti uite izvi, pedzisa kuisa nekudzvanya Ctrl + D (unogona kazhinji kukanganisa Ctrl + Z) uye dzokorora zvese kubva pakutanga. Sezvo isu takashandisa '>' ipapo iyo faira ichave yakanyorwa zvachose. Nechikonzero ichi, ini handikurudzire kushandisa iyi nzira yekuisa kunze kwekunge uine chokwadi chekuti uchanyora kodhi nekukurumidza pasina zvikanganiso.

vanotsika 6

Bash zvinyorwa

Bash zvinyorwa inzira yakanaka yekuita otomatiki basa rako rekupedzisira. Iyo script ifaira ine .sh yekuwedzera (iyo yekuwedzera ndeyekusarudza) ine seti yemirairo yekugumisira, mimwe yacho yatakatodzidza. Here rondedzero yemirairo mizhinji, zvese zvinofanirwa kushanda, asi cherechedza kuti iyi rondedzero ye "vakuru" Linux, kwete Termux, asi chete zvinhu zvikuru pane bash scripts.

Nerubatsiro rwezvinyorwa, unogona otomatiki zvinenge zvese monotonous zviito. Ngatinyorei yakapfava bash script inoratidza kukosha kubva kuchinjika kwaakasika, ini ndichashandisa katsi zvakare, unogona kushandisa yakajairwa mavara edhita, uye avo vanonyanya kuda kuzvidzidzisa vanogona kushandisa echo.

cat >test.sh

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

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

# Ctrl + D

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

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

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

Termux nhanho nhanho (Chikamu 2)

Bash script ine Termux: API

Ngatinyorei chimwe chinhu chakasiyana kubva kune inozivikanwa HelloWorlds, asi sezvisina basa. Script yedu ichava:

  1. shandisa iyo termux-battery-status API chikumbiro
  2. chengetedza data yakagamuchirwa kune faira test.txt
  3. dhinda data kubva pafaira kuenda kuchiratidziro
  4. ita iyo yakambonyorwa hello-world.py chirongwa
  5. nyora iyo data yakagamuchirwa kubva kuchirongwa kuenda kufaira test.txt
  6. dhinda data kubva pafaira kuenda kuchiratidziro
  7. fambisa data kubva kufaira kuenda kune clipboard
  8. ratidza zviri mukati me clipboard
  9. ratidza meseji inobuda nedata kubva pakabhodhi

Chekutanga, gadzira dhairekitori rebasa wokopa hello-world.py ipapo se test.py, gadzira test.sh uye test.txt mafaera muforodha iyi:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Zvino, chero nzira iri nyore, nyora script kune test.sh faira:

#!/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

Zvino, tiri mubashscript folda, tinonyora ./test.sh isu tinoona mune terminal pane Android mudziyo:

Termux nhanho nhanho (Chikamu 2)

Saka takanyora yakarongwa bash script. Iwe unogona kuidzikisa neinobuda kune iyo console yeruzivo pamusoro pekuita kwechiito chimwe nechimwe (uchishandisa echo), ini ndichasiira izvi kune vaverengi.

vanotsika 7

Ngatiitei chimwe chinhu chinobatsira

Zvine basa

Ngatigadzirirei mazwi ereferensi
Mushure mekutangwa, chishandiso chinofanira kuisa mutsara wakasarudzika kubva pafaira pane clipboard uye zivisa nezvayo nepop-up meseji.

Isu tichatora bash script sehwaro, isu tinobvisa mutsara wakasarudzika kubva pafaira tichishandisa Python subroutine. Ngatiite script work plan:

  1. Run subroutine
  2. Chinja mhedzisiro ye subroutine kune clipboard
  3. Ratidza popup meseji

Ngatitsanangure mazita edhairekitori uye mafaera ekushandisa:

  • rndstr folda mudhairekitori repamba
    • tsime - iyo faira yatinozotora mitsara
    • rndstr.py - subroutine inoratidza mutsara wakasarudzika kubva kune sosi faira kuenda kune koni
    • rndstr.sh - script file

Gadzira dhairekitori rekushandisa uye uende kwairi uye gadzira mafaera ipapo.

Mapoinzi maviri ekutanga echirongwa chescript anogona kusanganiswa nepombi, semhedzisiro, tichishandisa Termux: API yatinowana:

#!/bin/bash

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

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

Mune iyo faira faira, unogona kuisa chero zvinyorwa zvine musoro zvakakamurwa kuita mitsetse, ndakafunga kuisa aphorisms:

Source file list

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

Isu tinongoda kugadzira subroutine inobvisa tambo isina kujairika kubva kune iyo faira faira.
Ngatinyorei algorithm ye subroutine:

  1. Open source file
  2. Kuverenga nhamba yemitsara mufaira yakazaruka
  3. Vhara iyo faira (hapana chekuichengeta yakavhurika kwenguva yekuwedzera)
  4. Isu tinogadzira nhamba isina kurongeka mukati mehuwandu hwemitsara yefaira rekubva
  5. Open source file
  6. Isu tinoburitsa mutsara pasi pehuwandu hwehuwandu hwakagadzirwa
  7. Kuvhara faira

Isu tinoshandisa algorithm muPython (ndinonyora pasi pePython 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  #  закрываем файл

Mushure mekunge mafaera agadzirwa uye anyorwa, unofanirwa kupa faira rekuita mvumo rndstr.sh, uye gadzira alias yekukurumidza kuvhurwa.

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

Iye zvino nyora mu terminal rnst isu tichawana yakasarudzika aphorism pane clipboard, iyo, semuenzaniso, inogona kushandiswa mutsamba.

Pano takanyora chimwe chinhu chinobatsira. Zvine basa.

Mapisarema

Munhanho yekupedzisira, ini nemaune handina kupa zvidzitiro uye handina kuongorora zvakadzama zvimwe zvezviito, ndichinyora chete zviri mukati memafaira kuitira kuti vaverengi vawane mukana wekushanda vega.

Pane iyi "Termux nhanho nhanho", ndinofunga zvakakodzera kupedzisa. Ehe, aya ndiwo chete matanho ekutanga, asi ikozvino unogona kuenda mberi iwe pachako.

Pakutanga, ndakaronga kuratidza mune ino kutenderera mashandisiro enmap, sqlmap, asi pasina ini patove nezvakawanda zvezvinyorwa pane iyi nyaya. Kana iwe uchida kuti ndienderere mberi ne "Termux nhanho nhanho" kutenderera, saka pane ongororo pazasi uye mune zvakataurwa unogona kupa zano kuti ndezvipi zvimwe zvekunyora nezvazvo.

Vashandisi vakanyoresa chete ndivo vanogona kutora chikamu muongororo. Nyorera mu, Munogamuchirwa.

Kuenderera mberi ne "Termux nhanho nhanho"?

  • kuti

  • kwete

2 vashandisi vakavhota. Iko hakuna abstentions.

Source: www.habr.com

Voeg