2024 Avtor: Peter John Melton | [email protected]. Nazadnje spremenjeno: 2023-12-16 04:45
Kaj je Shell Scripting?
Biti uporabnik Linux pomeni, da se igrate z ukazno vrstico. Všeč ali ne, obstaja le nekaj stvari, ki so storjene veliko lažje preko tega vmesnika kot s kazanjem in klikom. Bolj ko uporabljate in se naučite ukazne vrstice, bolj vidite svoj potencial. No, ukazna vrstica je program: lupina. Večina distribucij Linuxa danes uporablja Bash, in to je tisto, na kar dejansko vnesete ukaze.
Nekateri izmed vas, ki ste pred operacijskim sistemom Windows uporabljali Windows, morda zapomnijo šaržne datoteke. To so bile majhne besedilne datoteke, ki jih lahko izpolnite z ukazi, ki jih želite izvesti, in Windows jih bo zagnal. To je bil pameten in čeden način, kako narediti nekaj opravil, na primer igranje iger v računalniškem računalniku v srednji šoli, ko ne morete odpreti sistemskih map ali ustvariti bližnjic. Batch datoteke v operacijskem sistemu Windows, medtem ko so uporabne, so poceni imitacija skriptov lupine.
Mislim, da je res moč skripte. Programirate lahko z ukazi, ki jih že poznate, pri učenju sponk večine glavnih programskih jezikov. Potrebujete nekaj ponavljajočega in dolgočasnega? Zapišite si! Potrebujete bližnjico za resnično zamahan ukaz? Zapišite si! Želite zgraditi zelo enostaven vmesnik ukazne vrstice za nekaj? Zapišite si!
Preden začneš
Preden začnemo s skriptno serijo, pokrijemo nekaj osnovnih informacij. Uporabili bomo lupino bash, ki jo večina distribucij Linux uporablja. Bash je na voljo tudi za uporabnike operacijskega sistema Mac OS in Cygwin v operacijskem sistemu Windows. Ker je tako univerzalen, bi morali biti sposobni skripta, ne glede na vašo platformo. Poleg tega, dokler obstajajo vsi ukazi, na katere se sklicujemo, skripte lahko delujejo na več platformah, pri čemer je potrebno le malo spreminjanja.
Skriptiranje lahko preprosto uporablja privilegije »administrator« ali »superuser«, zato je najbolje, da preizkusite skripte, preden jih delate. Uporabite tudi zdrav razum, tako kot ste prepričani, da imate varnostne kopije datotek, na katerih želite zagnati skript. Prav tako je pomembno, da uporabite prave možnosti, kot je -i za ukaz rm, tako da je potrebna vaša interakcija. To lahko prepreči nekaj napačnih napak. Kot take, preberite skripte, ki jih prenesete in pazite na podatke, ki jih imate, samo v primeru, da gre kaj narobe.
Skripti so v bistvu zgolj besedilni datoteki. Za pisanje besedil lahko uporabite katerikoli urejevalnik besedil: gedit, emacs, vim, nano … Ta seznam se nadaljuje. Prepričajte se, da ga shranite kot navaden tekst, ne kot bogato besedilo ali Wordov dokument. Ker mi je všeč enostavnost uporabe, ki jo ponuja Nano, bom to izkoristila.
Dovoljenja in imena skriptov
Skripte se izvajajo kot programi, zato morajo imeti ustrezno dovoljenje, da se to zgodi. Skripte lahko izvedete tako, da v njem izvedete naslednji ukaz:
chmod +x ~/somecrazyfolder/script1
To bo omogočilo vsakomur, da bo zagnal ta poseben scenarij. Če želite omejiti uporabo le na svojega uporabnika, ga lahko uporabite:
chmod u+x ~/somecrazyfolder/script1
Če želite zagnati ta skript, bi morali vnesti v ustrezen imenik in nato zagnati skript, kot je ta:
cd ~/somecrazyfolder
./script1
Če želite stvari narediti bolj priročno, lahko skripte postavite v mapo »bin« v domačem imeniku:
~/bin
V mnogih modernih distribucijah ta mapa ni privzeto ustvarjena, vendar jo lahko ustvarite. To je običajno, če so shranjene izvršljive datoteke, ki pripadajo vašemu uporabniku in ne drugim uporabnikom. S tem, da skripte postavite tukaj, jih lahko preprosto zaženete tako, da vnesete svoje ime, tako kot drugi ukazi, namesto da bi morali prebrati in uporabiti predpono »./«.
Preden poimenujete skript, morate narediti naslednji ukaz, da preverite, ali imate nameščen program, ki uporablja to ime:
which [command]
Veliko ljudi imenuje svoje zgodnje skripte "test" in ko ga poskušajo zagnati v ukazni vrstici, se nič ne zgodi. To je zato, ker je v nasprotju s preizkusnim ukazom, ki ne dela nič brez argumentov. Vedno se prepričajte, da imena imenika niso v nasprotju z ukazi, drugače boste morda našli stvari, ki jih ne nameravate storiti!
Navodila za skriptiranje
- Vsak skript mora biti z "#! / Bin / bash"
- Vsaka nova vrstica je nov ukaz
- Linije za komentiranje se začnejo z #
- Komande obkrožajo ()
Hash-Bang Hack
Ko lupina razčleni skozi besedilno datoteko, je najbolj neposreden način za identifikacijo datoteke kot skripta tako, da naredite svojo prvo vrstico:
#!/bin/bash
Če uporabljate drugo lupino, tukaj zamenjajte svojo pot. Linije za komentiranje se začnejo s hešami (#), vendar dodate bang (!) In lupinsko pot, potem ko je nekakšen kramp, ki bo zaobidel to pravilo za komentar in bo prisilil, da skript izvrši z lupino, ki jo ta vrstica opozarja.
Nova vrstica = Nov ukaz
Vsako novo vrstico je treba obravnavati kot nov ukaz ali sestavni del večjega sistema. Če /, potem bodo stavki, na primer, prevzeli več vrstic, vendar je vsaka komponenta tega sistema v novi vrstici. Ne dovolite, da se ukaz preusmeri v naslednjo vrstico, ker to lahko skrajša prejšnji ukaz in vam v naslednji vrstici napaka. Če to počne vaš urejevalnik besedil, morate obrniti besedilno ovojnico, da je na varni strani. Izklop besedila lahko izklopite z nano hitrostjo ALT + L.
Comment Pogosto s #s
Če začnete vrstico z #, se vrstica prezre. To se spremeni v vrstico za komentarje, kjer se lahko spomnite, kakšen je bil izhod prejšnjega ukaza ali kaj bo naredil naslednji ukaz. Še enkrat, izklopite prelaganje besedila ali prekinite komentiranje v več vrsticah, da se vse začnejo z razprševanjem. Uporaba veliko komentarjev je dobra praksa, saj omogoča, da vi in drugi ljudje lažje prilagodite svoje skripte. Edina izjema je zgoraj omenjeni Hash-Bang kramp, zato ne sledite #s z! S.;-)
Komande obkrožajo okroglice
V starejših dneh so bile ukazne zamenjave opravljene z enojnimi oznakami ("delil ključ"). Tega še ne bomo se dotaknili, toda, ker se večina ljudi širi in raziskuje po učenju osnov, je verjetno dobra ideja omeniti, da bi morali uporabiti oklepaje namesto tega. To je predvsem zato, ker ko gnezdite - postavite ukaze znotraj drugih ukazov - oklepaji delujejo bolje.
Vaš prvi scenarij
Začnimo s preprostim skriptom, ki vam omogoča kopiranje datotek in dodajanje datumov do konca imena datoteke. Denimo, da je "datecp". Najprej preverimo, ali se to ime v nasprotju z nečim:
Ustvarimo prazno datoteko v mapi / bin:
touch ~/bin/datecp
In zdaj spremenimo dovoljenje, preden pozabimo:
nano ~/bin/datecp
In, gremo naprej, postavimo prvi pogoj in predpostavimo, kaj naredi ta scenarij.
Kaj bomo postavili v spremenljivko? No, hrani datum in uro! Če želite to narediti, bomo poklicali ukaz za datum.
Oglejte si sliko spodaj, kako ustvariti izhod ukaza datuma:
To lahko vidite tako, da dodate različne spremenljivke, ki se začnejo z%, lahko spremenite izhod ukaza na tisto, kar želite. Za več informacij si oglejte priročnik za ukaz datuma.
Uporabimo to zadnjo ponovitev ukaza datuma, "datum +% m_% d_% y-% H.% M.% S" in uporabite to v našem skriptu.
variable=$(command –options arguments)
In za nas bi to zgradili tako:
date_formatted=$(date +%m_%d_%y-%H.%M.%S)
Tukaj je primer skripta in njegovega izpisa:
Vrnimo se k našemu skriptu. Naj dodamo v kopirajoči del ukaza.
cp –iv $1 $2.$date_formatted
Nato lahko vidite, da sem dodal možnost »$ 1«.Pri skriptiranju znak za dolar ($), ki mu sledi številka, označuje ta oštevilčen argument skripte, ko se je skliceval. Na primer, v naslednjem ukazu:
cp –iv Trogdor2.mp3 ringtone.mp3
Prvi argument je: ÄúTrogdor2.mp3, Äù in drugi argument je Äúringtone.mp3,Äù.
Če pogledamo nazaj na naš skript, lahko vidimo, da se sklicujemo na dva argumenta:
Drugi argument, $ 2, bo deloval kot izhodna datoteka za isti ukaz. Ampak, lahko tudi vidite, da je drugačen. Mi smo dodali obdobje in mi smo na zgornji seznam spremenili spremenljivko Äddate_formatted. Radoveden, kaj to počne?
Tukaj se dogaja, ko se skript izvaja:
Zdaj, ko zaženem ukaz datecp, bo zagnal ta skript in mi dovolil, da kopiram katero koli datoteko na novo lokacijo in samodejno dodam datum in uro do končnega imena datoteke. Uporabno za arhiviranje stvari!
Shell skriptiranje je v središču, da vaš OS deluje za vas. Ne smete se naučiti novega programskega jezika, da bi se to zgodilo. Poskusite skriptirati z nekaj osnovnimi ukazi doma in začeti razmišljati o tem, kaj lahko uporabite za to.
Ali ste scenarij? Imate kakšen nasvet za newbies? Delite svoje misli v komentarjih! V tej seriji je še več!
Priporočena:
Kako uporabljati Snapchat: Osnove pošiljanja posnetkov in sporočil
Rad imam Snapchat, vendar bi bil tudi prvi, ki bi priznal, da je oblikovanje uporabniškega vmesnika … slabo. Če prvič uporabljate Snapchat in se samo izgubite, so tukaj osnove.
Geek School: Učenje Windows 7 - Osnove IP naslovov
V tej izdaji šole Geek se bomo pogovarjali o tem, kako deluje IP naslavljanje. Vključili bomo tudi nekaj naprednih tem, na primer, kako računalnik ugotovi, ali je naprava, s katero komunicirate, v istem omrežju kot vi. Nato bomo končali s kratkim pogledom na dva protokola za ločevanje imen: LLMNR in DNS.
Začetnikov vodič za brskanje z jezički
Zavihki omogočajo, da odprete več spletnih strani v enem samem brskalniku, ne da bi pri tem naleteli na namizje. Obvladovanje brskanja z zavihki lahko pospeši vaše izkušnje z brskanjem in olajša upravljanje več spletnih strani.
Kako naj Geek Guide to Hackintoshing - 1. del: Osnove
Macs. Najboljši računalniki, ki jih je Apple, znan po svoji preprostosti in slogu, njihovem operacijskem sistemu in njihovi ceni. Če je Mac OS X vse, kar si želite, preberite in izvedite, kako ga namestite v računalnik, ki ga meri po meri!
Kako naj Geek vodnik za urejanje zvoka: Osnove
Kdaj si želiš urediti nekaj zvoka, a niste prepričani, kje začeti? Rešite s tem HTG vodnikom do brezplačnega avdio urejevalnika Audacity, ki je napisan za začetnike, vendar skrbi za geeks vseh nivojev.