Kui olete kunagi proovinud Installige APK, teisaldage failid ja käivitage .sh-skript Androidis Ja sa said ainult tüütu teate „luba keelatud”? Ära muretse, sa pole üksi. Android ei ole tüüpiline Linuxi lauaarvuti ja kuigi neil on palju ühiseid põhiprintsiipe, teeb õiguste ja teede süsteem asja veidi keerulisemaks.
Selles artiklis vaatame samm-sammult, kuidas Looge ja käivitage .sh-skripte Termuxis Androidi jaoksSiit saad teada, kuidas lahendada levinud lubadega seotud probleeme ja kuidas sellest rakendusest maksimumi võtta, et automatiseerida ülesandeid seadme käivitamisel, linkide jagamisel või isegi vidinate kasutamisel. Kõik see on selgitatud selges keeles koos reaalsete näidete ja näpunäidetega, mis säästavad sinu aega ja peavalu.
Mis on Termux ja miks see sobib ideaalselt .sh-skriptide jaoks Androidis?

Termux on rakendus, mis võimaldab teil täielik Linuxi keskkond Androidis, ilma juurjuurdepääsuta. See pole lihtsalt terminali emulaator: see sisaldab Debiani/Ubuntu-stiilis paketihaldurit, mille abil saate installida Pythoni, Ruby, Node.js, gcc, ssh, veebiservereid, andmebaase ja palju muud.
Meie juhtumi puhul on huvitav see, et Termux pakub päris kesta (bash, zsh…)See pakub tuge skriptidele, kiirklahvidele, hiire sisendile ja klassikalise distributsiooniga väga sarnasele pakettide süsteemile. Põhimõtteliselt saab seda kasutada programmeerimiseks, serveri administreerimiseks või lihtsalt oma Androidi süsteemi automatiseerimiseks .sh-skriptidega.
Juba esimesest korrast näed, et saad kasutama Kasulikud Termuxi käsud kui ls, grep, nano, tarm, htop, git, püütonjne. Kataloogihierarhia ei ole aga täpselt sama, mis Linuxi lauaarvuti süsteemis, ja see detail on skriptide puhul ülioluline.
Lisaks toetab Termux füüsilised klaviatuurid ja spetsiaalsed otseteedNäiteks helitugevuse vähendamise klahv toimib Ctrl-klahvina, mis võimaldab teil kasutada selliseid kombinatsioone nagu Ctrl+C, Ctrl+D või Ctrl+L, muutes kogemuse mobiiltelefonis või tahvelarvutis palju mugavamaks.
Paigalda Termux õigesti ja väldi versioonikonflikte

Üks sageli mainitud probleemidest on see, et pärast Termuxi installimist Rakenduse ikooni ei kuvata või see annab kummalisi viguSee juhtub sageli Google Play ja F-Droidi vanade või segaversioonide installimise tõttu.
Praegune soovitus on, et Installige Termux ühest usaldusväärsest allikastÜldiselt on soovitatav kasutada F-Droidi, kus asub hooldatud versioon või selle puudumisel GitHubi ametlikku versiooni. Kui valite F-Droidi, laadige otse alla Termuxi APK ja vältige selle segamist Play poe versiooniga.
See on eriti oluline, kui kavatsete kasutada pluginad nagu Termux:Boot, Termux:API või Termux:WidgetKui vajate teejuhti, Õpi Termuxi kasutamaDigitaalallkirja vastavuse tagamiseks peavad kõik seotud rakendused pärinema samast poest (Play pood või F-Droid). Allikate segamisel ei tuvasta laiendused sageli Termuxi või lihtsalt ei tööta.
Kui sul on juba Play poest Termux olemas ja soovid F-Droidile üle minna, on soovitatav valik järgmine: Esmalt eemaldage eelmine versioon ja seejärel installige nii Termux kui ka selle pluginad F-Droidist, kõik samalt saidilt.
Põhikeskkonna seadistamine: värskendamise ja salvestusõigused
Kui Termux on installitud, on esimene samm selle minimaalne ettevalmistamine skriptide ja seadmefailidega töötamiseks. Selleks on kaks peamist sammu: värskenduspaketid ja Androidi salvestusruumi integreerimine.
Termuxi distributsiooni uuendamine on sama lihtne kui paketihalduri kasutamine. Otse kasutamise asemel asjakohaneTermux pakub käsku pkgmis lihtsustab protsessi ja hoolitseb selle eest, et apt uuendatud kui see puudutab.
Teine samm on juurdepääsu andmine mobiilseadme salvestusruumile. Vaikimisi näeb Termux ainult oma kataloogi. $ KODUmis on ülejäänud Androidist isoleeritud. Sisemälu või SD-kaardi lugemiseks ja sinna kirjutamiseks peate käivitama järgmise käsu:
termux-setup-storage
See käsk küsib õigusi ja loob kataloogi $KODU/ladustamine linkidega allalaadimine, dokumendid, piltejne. Sel viisil saavad teie skriptid Failide lugemine ja kopeerimine Androidi kasutajaalasse ja sealt tagasi ilma et peaks žongleerima.
Kui see, mida sa tahad, on näiteks installige APK ja kopeerige mõned failid Skripti kaudu sisemälule juurde pääsedes on oluline need õigused eelnevalt anda. Vastasel juhul puutute peaaegu kindlasti kokku kardetud veaga „Luba keelatud”.
Termuxi marsruutimisstruktuuri ja shebangi kontseptsiooni mõistmine
Termux ei kasuta täpselt sama hierarhiat kui tavaline Linuxi distributsioon. Sellised teed nagu /bin, /usr või /etc ei ole seal, kus sa ootasid.ja see mõjutab skriptide tšekke (rida, mis algab #! osutades tõlgile).
Paljudes juhendites või projektides (näiteks Instagrami bottides nagu InstaPy) näete skripte selliste päistega #!/bin/sh o #!/usr/bin/env pythonTermuxi vanemates versioonides oli vaja neid teid "parandada" utiliidiga nimega termux-fix-shebangsest binaarfailid ei olnud tüüpilistel marsruutidel.
Uuemad versioonid sisaldavad paketti termux-exec, mis vastutab tõlgendage õigesti standardseid shebangeTänu sellele töötavad enamik skripte, mis eeldaksid klassikalist Unixi keskkonda, ilma muudatusteta. Isegi kui skript ei käivitu, tasub kontrollida järgmist:
- Las jutt osutab tõlgile, kes tegelikult eksisteerib Termuxis.
- Veenduge, et skriptil on täitmisõigused koos
chmod +x. - Et kasutate selle käivitamisel õiget rada (näiteks
./install.sho~/script.sh).
Kui sulle meeldib, kui kõik on "korras", saad luua klassikaline kataloogistruktuur Termuxis (nagu / usr / bin) kasutades spetsiifilisi käske, mis genereerivad sümboolseid linke ja standardseid teid. See pole kohustuslik, kuid mõnikord lihtsustab see pärandskriptide taaskasutamist.
.sh-skripti loomine, õiguste andmine ja käitamine Termuxis
Asume asja kallale: kuidas luua ja käivitada Termuxis lihtsat .sh-skripti? Põhiprotsess on alati sama: Kirjuta skript, salvesta see, anna õigused ja käivita see.Saate seda rakendada nii oma skriptile kui ka näiteks klassikalisele skriptile. install.sh projektidest nagu InstaPy Quickstart.
Skripti loomiseks võite kasutada nano, tarm, emacs o el toimetaja, kes sulle kõige rohkem meeldibKui teil pole ühtegi installitud, on kasulik esimene samm järgmine:
pkg install nano
Oletame, et sa tahad luua ~/script.shSa võiksid teha:
nano ~/script.sh
Faili sisse kirjutate oma skripti, näiteks väga lihtsa, mis salvestab täitmiskuupäeva:
#!/bin/sh
echo "Encendido del dispositivo: $(date)" >> ~/registros.log
Kui oled lõpetanud, salvesta see nanosse käsuga Ctrl + O, Enter ja seejärel Ctrl + XOled skripti loonud, aga see pole veel käivitatav. Selle parandamiseks lisa õigused järgmiselt:
chmod +x ~/script.sh
Sealt saad kontrollida, kas kõik töötab, käivitades järgmise käsu:
~/script.sh
./script.sh (kui oled failiga samas kaustas)
Kui teete neid värskendusi ~/registros.log Kuupäeva ja kellaajaga on teil kinnitus, et .sh-skript töötab korrektseltSama retsept kehtib ka siis, kui proovite käivitada install.sh mille laadid alla GitHubist: veendu, et sellel on käivitusõigused ja et kutsud seda õige teega.
.sh-skriptide käivitamisel tekkiva vea „luba keelatud” parandamine
Üks levinumaid peavalusid, kui keegi proovib Androidis APK-d installida või faile .sh-faili abil teisaldada, on see, et Kõik tundub õige, aga terminal vastab "Luba keelatud".Termuxis on sellel probleemil tavaliselt mitu tüüpilist põhjust.
Esimene ja kõige ilmsem on see, et Skriptil puuduvad täitmisõigusedIsegi kui sa kannad ideaalset shebangi ilma selleta chmod +x archivo.sh Midagi pole teha. See on klassikaline möödalaskmine, mida tuleks alati kontrollida.
Teine levinud põhjus on see, et Skript proovib kirjutada süsteemiteedele, kuhu Android seda ei luba.Eriti ilma juurjuurdepääsuta. Unusta süsteemikataloogide vaba manipuleerimine; keskendu kasutajateedele (näiteks neile, mis on avalikud). $KODU/ladustamine) või selles, mida rakendus ise hallata saab.
Võib ka juhtuda, et Sa käivitad käske terminali emulaatorist, mis pole Termux.Ilma õigete õiguste ja keskkonnata kannatavad paljud teised Androidi terminali emulaatorid õiguste probleemide all ning ei integreeri salvestusruumi ega API-sid, mistõttu samad käsud, mis päris Linuxi süsteemis töötavad, seal ebaõnnestuvad.
Konkreetsel juhul, kui keegi proovib Androidile installida InstaPy Quickstart'i, on kriitiline punkt see, et Termuxil peavad olema kõik sõltuvused saadaval (Python, pip, vajalikud teegid) ja skript install.sh See peab töötama Termuxis, mitte mingis suvalises rakenduses. Kui käivitate selle õigesti ja see ikka ebaõnnestub, kontrollige installiteid, käsku ja sihtkataloogide õigusi.
Käivita .sh-skriptid automaatselt, kui Android käivitub Termux:Bootiga
Kui põhitõed on omandatud, tahavad paljud inimesed sammu edasi minna ja Teatud skriptid käivituvad seadme sisselülitamisel automaatselt.Selleks see lisandmoodul ongi. Termux: Saabas.
Termux:Boot on rakendus, mis integreerub Termuxiga ja See käivitab kõik .sh-skriptid, mis see spetsiaalsest kataloogist leiab. kui telefon on käivitunud. See on ideaalne näiteks selliste teenuste käivitamiseks nagu MySQL, väikesed deemonid, logimisülesanded või mis tahes automatiseerimine, mida vajate käivitamisel.
Termux:Booti saab Google Playst (mõnes riigis tasuline) või F-Droidist, kus see on tasuta saadaval. Kuid pidage meeles kuldreeglit: Termux ja Termux:Boot peavad pärinema samast allikast. nii et nende signatuurid ühtiksid. Kui kasutate Termuxi jaoks F-Droidi, kasutage F-Droidi ka Termux:Boot jaoks.
Pärast Termux:Boot'i installimist piisab tavaliselt avades rakenduse üks kord nii et see registreerub alglaadimissündmuse vastuvõtjana. See ei vaja ulatuslikku seadistamist; selle maagia toimub taustal, lugedes skripte, mille paigutate sobivasse kataloogi.
Skripti tee käivitamisel: ~/.termux/boot ja praktiline näide
Termux:Boot mehhanism on lihtne: Kõik .sh-skriptid, mille paigutate faili ~/.termux/boot/, käivituvad seadme käivitamisel.Vaikimisi kausta pole, seega peate selle ise looma.
Selleks Termuxis käivitage:
mkdir -p ~/.termux/boot/
Sealt saate luua oma skripte otse selle tee sees või kopeerida olemasolevaid. Eelmise näite kohaselt, kui oleksime loonud ~/script.shMe võiksime selle kopeerida nii:
cp ~/script.sh ~/.termux/boot/script.sh
Niikaua kui failil on täitmisõigused (chmod +x ~/.termux/boot/script.sh), Termux:Boot käivitab selle igal käivitamisel. See skript võib sisaldada mis tahes kehtiv bash/sh käsk, logi kirjutamisest kuni andmebaasiteenuse käivitamiseni millegi sellisega nagu:
mysqld_safe -u root &
Kui soovite olla kindel, et kõik on õigesti seadistatud, on hea mõte Ava uuesti Termux:Boot rakendus Oota paar sekundit, sulge seade ja taaskäivita see. Kui see sisse lülitub, kontrolli logifaili sisu või teenuste olekut, mida proovisid skriptist käivitada.
Croni ja muude automatiseeringute kasutamine Termuxiga
Lisaks süsteemi käivitamisele saate ka Planeeri korduvaid ülesandeid croniga TermuxisSelleks peate installima vastava paketi ja konfigureerima oma crontabid täpselt nagu teeksite seda mis tahes Linuxi süsteemis.
Kui olete installinud, kasutate seda crontab -e Croni tabeli muutmiseks ja kirjete lisamiseks. Näiteks saate konfigureerida ülesande käivituma iga minuti järel ja looma või värskendama kindlat kataloogi või käivitama .sh-skripti teatud intervalliga.
Croni toimimine Termuxis on väga sarnane tavalise Linuxi süsteemi omaga, kuid sellel on üks oluline piirang: Kui Android suleb taustal Termuxi rakenduseÜlesanded võivad töötamise lõpetada. Seni kuni süsteem protsessi austab, töötab cron väga hästi, aga seda tuleks meeles pidada telefonides, millel on agressiivsed aku säästmise eeskirjad.
Kui te pole cron-süntaksi (minutite, tundide, päevade jne avaldiste) osas kindel, võite kasutada selliseid ressursse nagu crontab.guru, mis aitavad teil visuaalselt õiget programmeerimist kirjutada.
Termuxi integreerimine Androidiga: Termux: API ja skriptid jagamisel
Üks Termuxi suuri tugevusi on see, et see ei jää lihtsalt isoleeritud terminali sisse: lisandmooduliga Termux:API Teil on juurdepääs paljudele Androidi riistvarafunktsioonidele ja saate neid kombineerida oma .sh-skriptidega ning ka selliste tööriistadega nagu SL4A Androidis.
Selle kasutamiseks installige esmalt Termux:API rakendus F-Droidist või Play poest (järgides samu lähtekoodi reegleid nagu ülejäänud pluginate puhul) ja seejärel installige pakett terminali. termux-APISealt saavad teie skriptid kutsuda käske, näiteks:
- termux-teavitus Androidis märguannete kuvamiseks.
- termux-dialoog dialoogibokside avamiseks ja kasutajalt andmete küsimiseks.
- termux-röstsai lühikeste sõnumite kuvamiseks ekraanil.
- termux-tts-speak Google'i TTS-i (tekst kõneks) kasutamiseks.
- termux-meediapleier heli/video esitamiseks.
- termux-mikrofoni salvestus mikrofonist heli salvestamiseks.
- Lõikelaua, asukoha, kaamera jms käsud
Lisaks saab Termux teatud Androidi "kavatsuste" jäädvustamineSee võimaldab skripte automaatselt käivitada failide või URL-ide jagamisel teistest rakendustest.
Näiteks kui jagate YouTube'i linki Termuxiga, siis skript käivitub. ~/bin/termux-url-opener URL-i saamine muutujas $1. Peate ainult:
- Loo kataloog ~/bin kui seda pole olemas.
- Looge fail termux-url-avaja selle sees.
- Andke täitmisõigused koos
chmod +x ~/bin/termux-url-opener.
Selle skripti sees saate näiteks video alla laadida youtube-dl või sarnane kasutades saabuvat URL-i $1või salvesta link nimekirja, et seda hiljem lugeda.
Midagi sarnast juhtub ka termux-file-editorKui jagate faili Termuxiga, käivitatakse see käitleja. Saate selle konfigureerida oma lemmikredaktori avamiseks, luues sümboolse lingi, näiteks järgmise:
ln -s $PREFIX/bin/nvim ~/bin/termux-file-editor
Või kirjuta oma skript termux-file-editor (Koos nano(märkige see käivitatavaks failiks jne), et faili soovitud viisil töödelda. See on väga võimas viis Androidi ja teie .sh-skriptide vahelised aheldamistoimingud.
Käivita skripte vidinatest ja otseteedest: Termux:Widget
Kui sulle meeldib mugavus, on siin veel üks eriti kasulik aksessuaar: Termux: vidinSee plugin võimaldab teil luua avakuvale otseteid järgmiste funktsioonide jaoks: käivita skripte otse vidinastilma terminali iga kord käsitsi avamata.
Selle toimimiseks peate oma skriptid paigutama kindlatele radadele:
- ~/.shortcuts/ skriptide jaoks, mis vidinas kuvatakse.
- ~/.shortcuts/tasks/ plugina hallatavate konkreetsete ülesannete jaoks.
- ~/.shortcuts/icons/ iga skriptiga kuvatavate PNG-ikoonide jaoks.
Ikoonifaili nimi peab vastama skripti nimele, lisades . PNG, näiteks script.sh.pngTavalisel Full HD ekraanil on suurus 96 × 96 pikslit Tavaliselt toimib see hästi, kuigi suuremate ekraanide puhul võib olla soovitatav suurendada 144 või 196 pikslini.
Lihtsalt skripti sisse pannes ~/.shortcuts/, anna sellele täitmisõigused ja lisa Termuxi vidin oma käivitajasse, Saate selle .sh-faili käivitada lihtsa puudutusega.Ideaalne ülesannete jaoks, mida sa sageli kordad: varundamine, sünkroonimine, häälmärkmed jne.
Muud Termuxi täiustatud tööriistad ja kasutusjuhud
Lisaks üksikute skriptide käitamisele võimaldab Termux teil üllatavalt terviklik töökeskkond Androidis saate installida interpretereid sellistele keeltele nagu Python, Ruby, Perl, Node.js või Rust ja kasutada neid oma .sh-skriptidega keerukamate ülesannete automatiseerimiseks.
Sõita saab ka täielikud arenduskeskkonnad giti, gcc, make'i, Neovimi, Emacsi jne ja isegi veebiserverite, andmebaasiserverite või SSH-teenustega. Paljud kasutajad hoiavad oma dot-faile giti repositooriumis, et kloonida oma konfiguratsioon otse Termuxi ja tunda end igas Android-seadmes "kodus".
Kui kasutate paroolihaldureid, näiteks sooritamaSaate need koos paigaldada gnupg ja sünkroonige oma paroole Giti kaudu, mis võimaldab teil neid ka oma mobiilseadmes kasutada. Isegi sellised tööriistad nagu kala (väga kasutajasõbralik kest) ja kaasaegsed utiliidid, näiteks zoksiid, tähelaev, ripgrep, lsd, nahkhiir või atuin Need integreeruvad sujuvalt.
Neile, kes tulevad töölaua taustalt, on idee omada telefonis töötav SSH-server või veebiserver Termuxiga pole see üldse hullumeelne. Selle saab käivitada lihtsa .sh-skriptiga, linkida Termux:Boot'i või vidinaga ja hallata seda nagu väikest kaasaskantavat serverit.
Toetus graafilised liidesed X11 ja VNC kaudu See on samuti saadaval, kuigi see nõuab keerukamat seadistamist; kui olete huvitatud, vaadake seda. Kuidas Linuxit Androidis jäljendada ja käitadaSellegipoolest näitab see, mil määral Termux ületab lihtsa "terminali emulaatori" idee ja muutub Androidi sees väikeseks Linuxi distributsiooniks.
Kõige selle juures saab Termuxist omamoodi Šveitsi armee nuga: Alates lihtsa APK installimisest .sh-skriptiga kuni keerukate ülesannete automatiseerimiseni Androidi API-de, croni, süsteemi käivitamise ja vidinate kombineerimise abilTaskusse saab panna praktiliselt kõik, mida Linuxi terminalis teha oskad.
