Shell, Bash in skripti: Vse o Shell skriptiranju.

V tej novi priložnosti (vnos št. 8) na "Naučite se skriptiranja lupine" osredotočili se bomo bolj na teorijo kot na prakso. torej ne bomo namestili ali preučevali kode ali namestili določene programske opreme (paketa), temveč se bomo poglobili v to, kar je svet Shell Scripting pravilno rečeno, z odgovori na majhna, a neposredna vprašanja, ki so prikazana spodaj, da razjasnimo do zdaj veliko poučenega, kar se ne nanaša neposredno na programirano interno kodo:

Shell Scripting

Kaj je lupina v operacijskem sistemu GNU / Linux?

Školjka, ki v španščini pomeni CONCHA (lupina, pokrov, zaščita). Ta izraz, uporabljen v operacijskih sistemih, se nanaša na ukazni tolmač operacijskega sistema. Na splošno gre za visokozmogljiv besedilni vmesnik, ki se kaže v obliki terminala (konzole) in v bistvu služi 3 pomembnim delovnim področjem:

1. - Upravljanje OS,
2. - zaženite programe in komunicirajte z njimi ter
3. - Služi kot osnovno programsko okolje.

Mnogi SO, GNU / Linux še vedno jih je učinkoviteje upravljati z urejanjem njihovih konfiguracijskih datotek prek terminala. Praviloma so na ciljni poti: «/ etc "in znotraj posebnih imenikov za vsako aplikacijo. Na primer program lilo (kar pomeni Linux Loader) se konfigurira z urejanjem besedilne datoteke, ki se nahaja in se pokliče kot "/Etc/lilo/lilo.conf". V primeru programov (aplikacij) se ti zaženejo (izvršijo / aktivirajo) s pisanjem imena izvršljive datoteke, če je ta najdena na poti (privzeta pot) za vse izvršljive datoteke, kot je običajno "/ Usr / bin" ali z vpisom imena izvršljive datoteke, pred katero je: ./, iz imenika, kjer se nahajajo.

Vse to je dobro znano vsakemu uporabniku Shell. Vendar njegove zmožnosti programskega okolja niso tako znane in cenjene. Skriptov (programov), narejenih v lupini, ni treba zbirati. Shell jih razlaga po vrsticah. Zato so ti znani ali imenovani Shells Scripts in lahko segajo od preprostih ukazov do zapletenih serij navodil za zagon samega OS. imajo dokaj čisto (očitno) sintakso (konstrukcija, urejanje), zaradi česar so dobro izhodišče za začetek v svetu programiranja.

Kaj je Shell Scripting?

To je tehnika (spretnost / spretnost) oblikovanja in ustvarjanja skripta (datoteka za avtomatizacijo opravil) z uporabo lupine (po možnosti) operacijskega sistema ali urejevalnika besedila (grafičnega ali terminala). To je vrsta programskega jezika, ki se na splošno razlaga. To pomeni, da medtem ko je večina programov zbranih (kodiranih), ker se trajno pretvorijo v določeno (posebno) kodo, preden jih je mogoče izvršiti (postopek prevajanja), skript lupine ostane v prvotni obliki (pisava besedila kode) in je interpretira ukaz z ukazom vsakič, ko se izvršijo. Čeprav je mogoče, da je mogoče sestaviti tudi scenarije, čeprav to ni običajno.

Kakšne so značilnosti programov, ki temeljijo na programiranju pod Shell Scripting?

1. - Lažje jih je napisati (programirati), vendar z višjimi stroški obdelave, ko so izvedeni.

2. - Za zagon uporabljajo namesto prevajalnikov tolmače

3. - Imajo komunikacijski odnos s komponentami, napisanimi v drugih programskih jezikih.

4. - Datoteke, ki jih vsebujejo, so shranjene kot navadno besedilo.

5. - Končna zasnova (koda) je običajno manjša od tiste, ki bi bila enakovredna v sestavljenem programskem jeziku.

Katere so najbolj priljubljene vrste jezikov pri Shell Scripting?

1. - Jezik za nadzor opravil in lupine:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript prek gostitelja Windows Script,
e) VBScript prek gostitelja Windows Script,
f) REXX, med mnogimi drugimi.

2. - Skriptiranje GUI (jeziki makros):

a) AutoHotkey,
b) AutoIt,
c) Pričakujte,
d) Automator, med drugim.

3. - Skriptni jezik določenih aplikacij:

a) ActionScript v Flash,
b) MATLAB,
c) skript mIRC,
d) QuakeC, med drugim.

4. - Spletno programiranje (za dinamične strani):

a) Na strani strežnika:

- PHP,
- ASP (aktivne strežniške strani),
- strani JavaServer,
- ColdFusion,
- IPTSCRAE,
- Lasso,
- MIVA Script,
- SMX,
- XSLT, med drugim.

b) Na strani stranke:

- JavaScript,
- JScript,
- VBScript,
- Tcl, med drugim.

5. - Jeziki za obdelavo besedil:

- AWK,
- Perl,
- Žeja,
- XSLT,
- Bash, med drugim.

6. - Splošni dinamični jeziki:

- APL,
- Boo,
- Dylan,
- Ferit,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Ruby,
- shema,
- Smalltalk,
- SuperCard,
- Tcl,
- Revolucija, med drugim.

Kaj je Bash v GNU / Linux?

Gre za računalniški program, katerega naloga je razlagati ukaze. Temelji na Unixova lupina in podpira POSIX. Napisan je bil za projekt GNU in je privzeta lupina za večino distribucij Linuxa.

Kaj je Shell Script v GNU / Linux?

Skripti lupine so izredno uporabni. Dobro je, da napišemo tiste potrebe, ki jih imamo, in nato uredimo skripte, ki to opravijo namesto nas. Zdaj se je treba vprašati, kaj točno je skript. To je besedilna datoteka, ki vsebuje vrsto ukazov lupine, ki jih sistem izvaja urejeno, od zgoraj navzdol. Če jih želite urediti, med številnimi obstoječimi potrebujete samo urejevalnik besedil, kot so Emacs, Vi, Nano. Shranijo se s pripono ».sh« (v nekaterih primerih tudi brez nje) in se zaženejo iz lupine z ukazom: sh script name.sh. Skripti se obnašajo enako kot ukazi lupine.

Poučevalni pristop, ki ga osebno uporabljam "Naučite se skriptiranja lupine" Zelo praktično in neposredno je, torej preučiti popolnoma delujoč skript, ga razgraditi, preučiti stavek za stavkom, vrstico za vrstico, ukaz za ukazom, spremenljivko za spremenljivko, dokler ne razumete, kako vsak element deluje ločeno in kako deluje. v splošni kodi. Nekako je Povratni inženiring ali prenova programske opreme. Vse to, da si znanje prilastimo, ga izboljšamo (optimiziramo) in delimo v skupno korist ter za boljšo administracijo in optimizacijo brezplačnih operacijskih sistemov.

Kako deluje in deluje v lupini GNU / Linux?

Prvi korak pri delu z lupino je zagon lupine. Kar se zdi truizem, ima svoj razlog za to. V nekaterih distribucijah GNU / Linux, usmerjenih k končnemu uporabniku, je lupina precej skrita. Običajno se imenuje: Konsole, Terminal, Terminal X ali kaj podobnega. Druga možnost je uporaba navidezne konzole. Uporaba: Ctrl + Alt + f1 ali f2 ali f3 do f7 ali f8, odvisno od distribucije GNU / Linux, ki jo uporabljate. Najbolj uporabljena lupina v GNU / Linux je Bash, čeprav obstajajo tudi druge, na primer ksh ali C Shell. V mojem primeru, posebej za svoje publikacije, uporabljam Bash Shell.

Glede na skript, narejen v Bash Shell, je poklican hello_world.sh je mogoče razložiti naslednje:

Vsebina:

#! / Bin / bash
echo zdravo svet

Zlomiti se:

Prva vrstica scenarija
#! / Bin / bash

Označuje program, ki naj se skript izvaja. Če programa ni mogoče najti, bo prišlo do napake.

Druga vrstica scenarija
echo zdravo svet

Izvedite ukaz echo z argumenti Hello World, tako da bodo prikazani na zaslonu.

Izvedba: Skript lahko zaženemo na dva načina

Klicanje tolmača za zagon skripta:
# bash hello_world.sh

Zažene se lahko tudi kot:
# sh hello_world.sh

Ker pa vaša pravilna lupina ni poklicana, bo morda delovala polovično. Idealno je, da se lupina, ki se prikliče v prvi vrstici, uporablja za njeno izvajanje.

Skript lahko zaženete tudi neposredno na naslednji način:
# ./hello_world.sh

Opomba: ./ označuje zagon iz trenutnega imenika.

Preostanek, ki ga je treba še analizirati, je koda, ki jo vanj vstavite. Upam, da vam je kot vedno všeč (nekaterim bolj kot drugim glede na potrebe po učenju in znanju) ta serija Shell Scripting.

V spletu je veliko dobrih povezav na to temo, vendar vam puščam ta majhen vodnik, ki se nahaja tukaj na naslovu DesdeLinux.net In to drugo Zunanji vodnik.

Do naslednjega prispevka!


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   d4ny je dejal

    Lilo .. Linux Loader .. ostalo zelo dobre informacije .. hvala .. salu2 d4ny.-

  2.   ing. Jose Albert je dejal

    Lep pozdrav vsem, ki kmalu spremljate spletni tečaj »Learn Shell Scripting«, nadaljevali bomo z drugimi osnovnimi skriptami, da bomo znanje še naprej prevzemali in ga še naprej družili.

    Upam, da boste še naprej spremljali, kajti kmalu bom začel z bolj naprednimi kodeksi, vendar izpostavljeni na način, ki je kljub svoji zapletenosti vizualno razumljiv.

    Ne pozabite, da lahko s Shell Scripting z zelo majhnimi datotekami naredite veliko zapletenih stvari, ki so med platformami (Different Distros). Ta majhen zaslon z nečim, česar se vas bom kmalu naučil, bom pustil tistim, ki še naprej gledajo tečaj, in to s samo 50 KB veliko obljublja! In to je le polovica tega, kar lahko naredimo s Shell Scriptingom.

    LPI-SB8 Test ScreenCast (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Glejte Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto cardona je dejal

      Pozdravljeni, vaš prispevek je neverjeten, res najlepša hvala !!
      Nekoliko dvomim, ali lahko prevajalnik programiram z bash?
      Ali vsaj leksikalni analizator?
      ima to moč?

  3.   ing. Jose Albert je dejal

    Lep pozdrav vsem, ki kmalu spremljate spletni tečaj »Learn Shell Scripting«, nadaljevali bomo z drugimi osnovnimi skriptami, da bomo znanje še naprej prevzemali in ga še naprej družili. Upam, da boste še naprej spremljali, kajti kmalu bom začel z bolj naprednimi kodeksi, vendar izpostavljeni na način, ki je kljub svoji zapletenosti vizualno razumljiv.

    Ne pozabite, da lahko s Shell Scripting z zelo majhnimi datotekami naredite veliko zapletenih stvari, ki so med platformami (Different Distros). Ta majhen zaslon z nečim, česar se vas bom kmalu naučil, bom pustil tistim, ki še naprej gledajo tečaj, in to s samo 50 KB veliko obljublja! In to je le polovica tega, kar lahko naredimo s Shell Scriptingom.

    LPI-SB8 Test ScreenCast (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Glejte Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto je dejal

    Pozdravljeni Jose,
    Najprej hvala, ker ste delili svoje znanje. Vaši članki so zelo zanimivi.

    Dve stvari, mislim, da je zelo pomembno, da uporabimo dvojne narekovaje "Hello World" in da imamo čisti izhod našega skripta z izhodom 0

  5.   ing. Jose Albert je dejal

    Hvala za prispevke, v naslednjem skriptu boste videli uporabo izhoda 0, preloma in drugih!

  6.   willarmand je dejal

    Lep pozdrav.
    Zelo zanimivo, izgledate preprosto; Zdaj sem naletel na to, da v Linuxu ne morem programirati s cron ali at, shutdown / suspend / hibernate, s posledičnim samodejnim zagonom ukaza rtc wake, ne vem, ali bi skript s tem ukazom pomagal, ali sledili bi cron in at, ne da bi karkoli storili, ali tega preprosto ni mogoče storiti ali pa je to storjeno na drug način, ali pa sem zelo ambiciozen, toda v operacijskem sistemu Windows je to relativno enostavno. Želim se preseliti na Linux, vendar mi je pomembno, da načrtujem zaustavitev / začasno zaustavitev / mirovanje in da se računalnik zažene sam. S spoštovanjem.

  7.   ing. Jose Albert je dejal
  8.   willarmand je dejal

    Hvala, temeljito jih bom prebral, nekaj mi bo pomagalo. S spoštovanjem.

  9.   Edward Cuomo je dejal

    Pred časom sem začel projekt, ki se mi zdi edinstven. Je prototip za Framewok Bash. Zahteva samo Bash v sistemu.
    Če še koga zanima, vabljeni, da poskusi in sodeluje!

    https://github.com/reduardo7/bashx

    Lep pozdrav!

    1.    kuščar je dejal

      Dragi Eduardo, mislim, da je to odličen projekt, morda bi ga lahko delil s celotno skupnostjo desdelinux, ne pozabite, da lahko objavite članek o svojem projektu na naši spletni strani, če ne veste, kako to storiti, priporočam branje https://blog.desdelinux.net/guia-redactores-editores/ kje so najboljše prakse za ustvarjanje člankov v desdelinux in postopek, ki ga je treba izvesti. Verjetno je za skupnost precej dobro, da najprej izveš o prednostih svojega projekta in drugič, da se naučiš, kako narediti tovrstne stvari. Vabimo vas in vabimo druge, da delijo svoje projekte z nami in veliko skupnostjo, ki nas obdaja.

  10.   Miguel Urosa Ruiz nadomestna slika je dejal

    Pozdravljeni dober dan.
    Sem nov v svetu upravljanja strojev Linux in želel bi vedeti, kaj zanj priporočate: ksh, bash, perl, php, python….
    Najlepša hvala in pozdravi.
    Michael.