Shell Scripting v systéme Linux - Počítače vo všeobecnosti chápu jazyk 0 a 1, ktorý je známy ako binárny jazyk. Pred desiatimi rokmi ľudia písali programy a aplikácie, ako napríklad kalkulačky, v binárnych jazykoch. Ale to nebolo pekné. Len si to predstavte! Chcete vypočítať 73 + 96, ako by ste napísali? Mali by ste radšej vypočítať binárne celé číslo pre 73 a 96 a potom ich pridať. Človek musí byť dosť hlúpy, aby to urobil. Jeden by radšej spočítal 73 a 96 na papieri a pokračoval ďalej. Ale to je z menšej časti. Čo ak musíte niečo počítať (19273/23 * (2967 3)). Teraz by som povedal, že je to dosť intenzívne.
Indický muž, ktorý sa učí zakódovať všetko v binárnom jazyku, nedáva zmysel. To je hlavný dôvod, prečo neboli počítače v 70. a 80. rokoch populárne. Neskôr, ešte pred vývojom systému Windows, ľudia začali vyvíjať jadrá a podobné veci, ktoré boli hlavnou súčasťou operačného systému. Jadrá slúžili na pochopenie formátu konkrétneho programu, ktorý je čitateľný pre človeka, a potom ho prevádzajú na strojový kód. A tu sa objavili programovacie jazyky a zmenili celú éru počítačového sveta. Aplikácie boli zostavené v jazykoch C a C ++ a neskôr v jazykoch Java, Python, Ruby a Perl.
V súčasnosti existuje okolo 50 programovacích jazykov. A to sú prinajmenšom tie, o ktorých viem. Nehovoriac o tom, že existujú aj iné programovacie jazyky, ktorým je ešte ťažšie porozumieť ako strojový kód. Chcem povedať, že príklady, ako je programovanie kuracieho mäsa a Malbolge. Sú to nejaké vážne škaredé veci, s ktorými sa musíme vysporiadať.
Programovanie shellu … .errr … Skriptovanie?
Teraz by vás zaujímalo, prečo som nespomínal programovanie Shell vyššie spolu s ostatnými programovacími jazykmi. Hlavným dôvodom samotného Shell nie je programovací jazyk. Je to skriptovací jazyk. Shell je iba interaktívny program ukončený používateľom, ktorý interpretuje akýkoľvek vstup od používateľa a poskytuje výsledok za predpokladu, že príkaz je platný. Potom odovzdá program jadru, aby ho vykonal. Shell nie je súčasťou jadra, ale namiesto toho používa jadro na vykonávanie a vytváranie súborov.
Typy skriptovacieho programu Shell
Teraz, na rozdiel od C, C ++ alebo Java, existuje niekoľko ďalších typov škrupín, ktoré môžu byť použité na skriptovanie Shell. Doteraz sú k dispozícii štyri typy škrupín:
Nie. | Typ škrupiny | popis |
1. | Bash aka Bourne Again Shell | Toto je najbežnejší shell dostupný vo všetkých systémoch založených na Linuxe a Debiane. Je to open source a freeware. |
2. | CSH alebo C Shell | Tento skriptovací program Shell používa syntax shellu programovania C a je takmer podobný C. |
3. | KSH alebo Korn Shell | Korn je skriptovací program Shell založený na Unixe, pôvodne založený na skriptovaní Bash Shell. Tento shell je dosť pokročilý a jeho programovací jazyk na vysokej úrovni. |
4. | tcsh | Neexistuje žiadna špecifická úplná forma TCSH. Je to tak, ako to je. TCSH je pokročilá verzia prostredia Berkeley Unix C. Opäť podporuje syntax v štýle C. |
Pokiaľ ide o dnešný deň, nemáme záujem o všetky vyššie uvedené škrupiny. Zaujíma nás iba ulica Bash, pretože je to dnes najbežnejšie používaná ulita na svete.
Bash Shell
Skriptovací program Bash Shell je skriptovací jazyk na vysokej úrovni podobný jazyku pythonu. Ale ak už máte s Pythonom nejaké skúsenosti, zistíte, že skriptovanie Bash Shell je omnoho ľahšie ako akýkoľvek iný skriptovací jazyk. Dá sa písať v bashu oveľa rýchlejšie ako v C, C ++, Java alebo Python. Predvolený terminál v dnešnom prostredí Linuxu povedzme napríklad pre: - Ubuntu, Linux Mint Cinnamon / Rafaela, Fedora, Arch Linux alebo akékoľvek iné prostredie Debian pozostáva z Bash ako predvoleného Shell. Môžete však skontrolovať všetky prostredia prostredia vo vašom systéme zadaním nasledujúceho príkazu do predvoleného terminálu: -
$ cat / etc / shells |
(Poznámka: Znak dolára na začiatku sa používa na označenie terminálu.)
Syntax „mačky“ sa používa na čítanie textových súborov. Typy skriptovacích programov shellu v prostredí Linux, Unix alebo Debian sú uložené v súbore shellu v adresári etc. Každý shell má svoju vlastnú jedinečnú sadu syntaxí a svoju vlastnú sadu vstavaných funkcií. DOS alebo okná majú tiež svoj vlastný shell známy ako neslávny „príkazový riadok“ alebo „powershell“ od okien 8.1 a ďalej, ale stále nie sú také silné ako bash. Syntax mačky vám poskytne zoznam škrupín dostupných v systéme, avšak na nájdenie predvoleného shellu alebo na kontrolu aktuálneho prostredia pomocou shellu môžete v skriptovacom termináli Shell použiť nasledujúcu syntax: -
$ echo $ SHELL |
Syntax 'echo' sa používa na tlač ľubovoľných príkazov. Tu je „SHELL“ premenná priradená na tlač aktuálneho obalu. Dolárový znak za „echo“ sa používa na vyjadrenie premennej v skripte Shell.
Odporúčané kurzy
- Certifikačný kurz v režime Java Hibernate
- Java jarný kurz
- Školenie WordPress online
- Ruby Training
Shell skriptovanie
Takže teraz viete, čo je škrupina, pozrime sa na skriptovanie Shell a prečo sa to nazýva. Shell Scripting nie je nič iné ako rad príkazov v jednoduchom textovom súbore končiaci príponou „.sh“. '.Sh' určuje, že ide o spustiteľný súbor shellu. Po napísaní shellového skriptu by bolo potrebné zmeniť spustiteľné povolenie pomocou funkcie chmod. V predvolenom nastavení nie je žiadny novo vytvorený shell spustiteľný v prostredí UNIX alebo Linux, pokiaľ sa povolenia nezmenia špecificky. Shell Scripting je takmer podobný ako pri dávkovom programovaní z Windows, ale rozdiel spočíva v tom, že Shell Scripting je dosť výkonný a poskytuje oveľa viac interaktívneho prostredia vyššej triedy spolu s dokončovaním kariet. Na napísanie skriptu shellu je potrebné využiť dobrý textový editor. O pár lepších, o ktorých viem, sú Vim, Gedit a Leafpad.
Na rozdiel od iných programovacích jazykov sú skripty Shell rýchlejšie písať a spúšťať. Na vykonanie nemusíte sťahovať žiadne konkrétne balíčky ani závislosti. Môže ich používať nielen správca systému, ale aj bežná osoba na vykonávanie automatizovaných skriptov na dennej báze. Nasleduje jednoduchý príklad tu napísaného skriptu.
#! / Bin / bash echo -e "Vitajte v prvom shellovom programe. \ n" echo -e "Sem napíšte niečo a tento program vytlačí to isté. \ n" #maskuje užívateľa pre vstupný vstup na čítanie #číta vstup od echo používateľa "Vy zadané: $ input ” exit 0 |
Teraz mi dovoľte vysvetliť všetky parametre vo vyššie uvedenom kóde. Najskôr napíšte vyššie uvedený kód do textového súboru vo formáte „tak ako je“ a uložte ho s príponou končiacou na „.sh“. Napríklad názov súboru ako 'main_program.sh'. Uistite sa, že to nie je 'main_program.sh.txt'. Väčšina začiatočníkov má tendenciu robiť to isté a potom to nie je spustiteľné. Po skopírovaní vyššie uvedeného kódu zmeňte jeho oprávnenia pomocou nasledujúcej syntaxe v termináli: -
$ chmod + x main_program.sh ALEBO $ chmod 755 main_program.sh |
Neváhajte použiť niektorý z vyššie uvedených príkazov, pretože oba robia to isté. V moderných programoch skriptovania bash shell sa '755' zmení na '+ x'; takže nezáleží na tom, ktorý z nich skutočne používate. Po zmene oprávnení ju vykonajte zadaním nasledujúceho príkazu.
$. / Main_program.sh |
Obdobie a lomka sa používajú na identifikáciu a vykonanie skriptov shellu. Po vykonaní vyššie uvedeného skriptu vytlačí prvý príkaz echo a potom vás požiada o zadanie niečoho. Akonáhle ho zadáte, vytlačí to isté späť k vám a ukončí tlmočníka. Dovoľte mi teda vysvetliť všetky vyššie uvedené syntaxe. '#! / Bin / bash' sa používa na informovanie tlmočníka, že ide o skript pre bash a skriptovací program shellu Bash sa nachádza v adresári 'bin'. Príkaz 'echo' sa používa na tlač ľubovoľných príkazov a príznak '-e' sa používa na označenie shellu, že bude buď nový riadok označený ako 'lomka n alebo \ n' alebo karta lomka t alebo \ t 'alebo jej podobné vo vyhlásení. Časť hash v druhom riadku sa používa na označenie poznámky v bash skripte. Čokoľvek napíšete po hashe, dostane komentár a nebude vykonaný. To sa však netýka '#! / Bin / bash' v prvom riadku. Takto má skript fungovať. Syntax „read“ sa používa na čítanie akýchkoľvek vstupov od používateľa. A „vstup“, o ktorom som hovoril po syntaxe „prečítania“, je premenná, v ktorej je uložený vstup od používateľa. Namiesto vstupu je možné použiť ľubovoľnú premennú. Na druhom poslednom riadku sa vstup $ používa na identifikáciu seba ako premennej a na výstup z uloženého vstupu v nej. Nakoniec sa príkaz exit používa na ukončenie tlmočníka s čistou výstupnou nulou.
Neaktívne skriptovanie
Vyššie uvedený príklad je teraz celkom jednoduchý. Existujú však zabudované moduly, ktoré môžete použiť namiesto toho, aby ste sami zadali všetky vstupy. Nasleduje časť kódu, ktorá vytlačí užívateľské meno, ktoré je aktuálne prihlásené, aktuálny čas, kalendárny dátum a počet prihlásení: -
#! / Bin / bash # Tento skript vytlačí aktuálne prihlásené informácie o užívateľovi, počet prihlásených používateľov, dátum, čas a kalendár echo „Dobrý deň, $ USER“ echo „Dnešný dátum a čas je„ dátum “„ echo “Počet prihlásených používateľov:` kto | wc -l` “
echo „Calendar“ CAL výstup 0 |
Spustite tento skript po zmene povolení vyššie uvedeného súboru. Teraz by vás mohlo zaujímať, že v predchádzajúcom skripte sme skutočne zadali vstup a potom ho vrátili pomocou premennej th. Ale tu sme nezadali žiadny vstup vo vnútri premennej '$ USER', potom ako to, že tlačí presného používateľa. Hlavným dôvodom je, že tieto veci sú už v systéme nakonfigurované. Pamätáte si, že som vám na začiatku povedal o $ SHELL, ako je to v predvolenom nastavení definované? Áno, podobný je tu prípad USER $. Pokiaľ ide o dátum, ak v termináli zadáte „dátum“ bez úvodzoviek, vytlačí sa presný dátum a čas. Jednoducho som použil jednoduchú úvodzovku (`), aby som sa identifikoval skôr ako syntax, než ako súčasť ozveny. Jediný citát (`) vykoná akúkoľvek syntax vytlačenú vo vnútri, či už vo výpise alebo kdekoľvek inde. Pokiaľ ide o časť počtu používateľov, príkaz „who“ sa používa na kontrolu súčasných prihlásených používateľov spolu s prihlásenými procesmi a dátumom a časom, kedy bol spustený. Ale pokiaľ ide o vyššie uvedený príkaz, v skutočnosti som ho skrátil, aby vyprodukoval iba počet prihlásených používateľov pomocou príkazu 'wc -l'. Pruh (|) alebo to, čo je známe ako rúra, sa používa na kombináciu dvoch príkazov. Potrubie v skutočnosti znamená omnoho viac, ale tu nebudem chodiť do detailov. Nakoniec som kalendár vytlačil pomocou zabudovaného príkazu „cal“ na vytlačenie aktuálneho dátumu v kalendári.
Exit Zero
Exit Zero je niečo, čo som nevysvetlil v žiadnom z vyššie uvedených programov. Hlavným dôvodom, prečo je program „Exit Zero“, je oveľa závažnejšia ako ktorákoľvek zo syntaxí uvedených vyššie v skripte Shell. V predvolenom nastavení vždy, keď spustíte skript v distribúcii Linux alebo Unix, vráti dva typy hodnôt alebo presnejšie stav ukončenia, aby skontroloval, či je vykonanie skriptu shellu úspešné alebo nie. Ak vráti hodnotu ako nulová, potom bolo vykonanie úspešné, inak sa nevykonalo alebo došlo k chybe počas vykonávania. Zadaním „exit 0“ na konci každého skriptu sa teda skontroluje stav vykonania skriptu.
Všetky veci, ktoré som tu popísal, sú iba najmenšou základnou časťou skriptov Shell v distribúcii linuxu. Výstupná nulová časť a rúra zohrávajú dôležitú úlohu pri vykonávaní viacerých skriptov shellu v príkazoch linux a ich používaní spolu s podmienenými príkazmi if a else.
Súvisiace články: -
Tu je niekoľko článkov, ktoré vám pomôžu získať viac podrobností o typoch skriptov Shell pre Linux Newbies, takže stačí prejsť na odkaz.
- Otázky týkajúce sa skriptovania v prostredí Shell Top 10 užitočných otázok
- Linux verzus Windows - zistite 9 najúžasnejších rozdielov
- Linux Rozhovor Otázky a odpovede Užitočné a najčastejšie otázky
- Kariéra v administrácii Linuxu
- Pravidlá a predpisy parametrov skriptov Shell