Shell, Bash dhe Skripte: Gjithçka rreth Scripting Shell.

Në këtë mundësi të re (Hyrja # 8)"Mësoni Shell Scripting" ne do të përqendrohemi më shumë në teori sesa në praktikë. domethënë, ne nuk do të instalojmë ose studiojmë një kod ose do të instalojmë një program specifik (paketë), por do të thellohemi në atë që është bota e Shell Scripting duke folur si duhet, përmes përgjigjeve në pyetje të vogla, por të drejtpërdrejta, të cilat tregohen më poshtë, për të sqaruar deri më tani shumë nga ato që janë mësuar, të cilat nuk i referohen drejtpërdrejt kodit të brendshëm që është programuar:

Shell Scripting

Çfarë është Shell në një sistem operativ GNU / Linux?

Shell që në spanjisht do të thotë CONCHA (guaskë, mbulesë, mbrojtje). I zbatuar ky term në Sistemet Operative i referohet interpretuesit të komandave të Sistemit Operativ. Në përgjithësi, është një ndërfaqe teksti me performancë të lartë, e manifestuar në formën e një Terminali (Konsolë) dhe e përdorur në thelb për 3 fusha të rëndësishme pune:

1. - Menaxhoni OS,
2.- Drejtoni aplikacionet dhe bashkëveproni me to, dhe
3.- Shërbeni si një mjedis themelor programues.

Shumë SO, GNU / Linux ata ende menaxhohen në mënyrë më efikase duke redaktuar skedarët e tyre të konfigurimit, përmes Terminalit. Si rregull i përgjithshëm, këto gjenden në rrugën e destinacionit: «/ etj ", dhe brenda drejtorive specifike për secilin aplikacion. Për shembull, programi Lilo (që qëndron për Linux Loader) konfigurohet duke redaktuar skedarin e tekstit të vendosur dhe të thirrur si "/Etc/lilo/lilo.conf". Në rastin e programeve (aplikacioneve), këto lëshohen (ekzekutohen / aktivizohen) duke shkruar emrin e ekzekutueses, nëse gjendet në shtegun (rruga e paracaktuar) për të gjitha ekzekutuesit, siç është zakonisht "/ Usr / bin" , ose duke shtypur emrin e ekzekutueses paraprirë nga: ./, nga drejtoria ku ndodhen.

E gjithë kjo është e njohur për çdo përdorues të Shell. Sidoqoftë, aftësitë e tij si një mjedis programues janë më pak të njohura dhe vlerësuara. Skriptet (programet) e bëra në Shell nuk kanë nevojë të përpilohen. Shell i interpreton ato rresht për rresht. Prandaj, këto njihen ose emërtohen si Scripts Shells, dhe mund të variojnë nga komandat e thjeshta deri te seritë komplekse të udhëzimeve për fillimin e vetë OS. të ketë një sintaksë mjaft të pastër (të dukshme) (ndërtim, renditje), duke i bërë ata një pikë të mirë fillestare për të filluar në botën e programimit.

Çfarë është Shell Scripting?

Shtë teknikë (aftësi / shkathtësi) e dizajnimit dhe krijimit të Skriptit (skedar automatizimi detyre) duke përdorur një Shell (mundësisht) të një Sistemi Operativ, ose një Redaktues Tekstesh (Grafik ose Terminal). Ky është një lloj gjuhe programimi që interpretohet përgjithësisht. Kjo do të thotë, ndërsa shumica e programeve përpilohen (kodohen), sepse ato konvertohen përgjithmonë në një kod specifik (special) para se të ekzekutohen (procesi i përpilimit), një skenar shell mbetet në formën e tij origjinale (kodi i tij burimi i tekstit) dhe interpretohen komandë me komandë sa herë që ekzekutohen. Edhe pse është e mundur që skenarët mund të përpilohen gjithashtu, edhe pse nuk është e zakonshme.

Cilat janë karakteristikat e programeve të bazuara në programimin nën Shell Scripting?

1.- Ata janë më të lehtë për t’u shkruar (programuar), por me një kosto më të lartë të përpunimit kur ekzekutohen.

2.- Ata përdorin interpretues në vend të përpiluesve për të ekzekutuar

3.- Ata kanë një marrëdhënie komunikimi me përbërës të shkruar në gjuhë të tjera programimi.

4.- Skedarët që i përmbajnë ato ruhen si tekst i thjeshtë.

5.- Dizajni përfundimtar (kodi) është zakonisht më i vogël se sa do të ishte ekuivalenti në një gjuhë programimi të përpiluar.

Cilat janë llojet më të popullarizuara të gjuhëve nën Shell Scripting?

1.- Detyra dhe gjuha e kontrollit të shell:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript përmes Windows Script Host,
e) VBScript përmes Windows Script Host,
f) REXX, ndër shumë të tjerë.

2.- Skriptimi i GUI (Gjuhët e Makrove):

a) AutoHotkey,
b) AutoIt,
c) Prisni,
d) Automatik, ndër të tjera.

3.- Gjuha e shkrimit të aplikacioneve specifike:

a) ActionScript në Flash,
b) MATLAB,
c) skenari mIRC,
d) QuakeC, ndër të tjera.

4.- Programimi në internet (për faqet dinamike):

a) Nga ana e serverit:

- PHP,
- ASP (Faqet e serverit aktiv),
- Faqet JavaServer,
- ColdFusion,
- IPTSCRAE,
- Lasso,
- Skenari MIVA,
- SMX,
- XSLT, ndër të tjera.

b) Nga ana e klientit:

- JavaScript,
- JScript,
- VBScript,
- Tcl, ndër të tjera.

5.- Gjuhët e përpunimit të fjalëve:

- AWK,
- Perl,
- Etje,
- XSLT,
- Bash, ndër të tjera.

6.- Gjuhë dinamike me qëllim të përgjithshëm:

- APL,
- Boo,
- Dylan,
- Ferite,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Rubin,
- Skema,
- Muhabet,
- SuperCard,
- Tcl,
- Revolucioni, ndër të tjera.

Çfarë është Bash në GNU / Linux?

Isshtë një program kompjuterik, funksioni i të cilit është të interpretojë urdhërat. Shtë i bazuar në Predha Unix dhe mbështet POSIX. Wasshtë shkruar për projektin GNU dhe është predha e paracaktuar për shumicën e shpërndarjeve Linux.

Çfarë është një Skript Shell në GNU / Linux?

Shkrimet Shell ato janë jashtëzakonisht të dobishme. Ashtë një ide e mirë të shkruajmë çfarëdo nevoje që kemi dhe pastaj të redaktojmë skenare që e bëjnë këtë punë për ne. Tani, është koha të pyesim se çfarë është saktësisht një skenar. Shtë një skedar teksti, që përmban një seri komandash shell, që sistemi ekzekuton në mënyrë të rregullt, nga lart poshtë. Për t'i redaktuar ato, ju duhet vetëm një redaktues teksti, të tilla si Emacs, Vi, Nano, midis shumë atyre ekzistues. Ata ruhen me një shtrirje ".sh" (ose pa të, në disa raste) dhe drejtohen nga Shell duke përdorur komandën: sh script name.sh. Skriptet sillen në të njëjtën mënyrë si komandat shell.

Qasja e mësimdhënies që unë personalisht përdor "Mësoni Shell Scripting" Veryshtë shumë praktike dhe e drejtpërdrejtë, domethënë, të shqyrtosh një Skript plotësisht funksional, ta zbërthesh, ta studiosh fjali për fjali, rresht për rresht, komandë me komandë, ndryshore për ndryshore, derisa të kuptosh se si secili element funksionon veçmas dhe si përfshihet në kod gjeneral Kindshtë lloj Inxhinieria e kundërt ose Rindërtimi i softverit. E gjithë kjo në mënyrë që të përvetësojë njohurinë, ta përmirësojë atë (ta optimizojë) dhe ta ndajë atë, për përfitim kolektiv dhe një administrim dhe optimizim më të mirë të Sistemeve Operuese falas.

Si funksionon dhe funksionon në një GNU / Linux Shell?

Hapi i parë në punën me një Shell është drejtimi i një predhe. Ajo që duket si një truizëm ka arsyen e saj për të qenë. Në disa shpërndarje të orientuara drejt përdoruesit fundor të GNU / Linux, predha është mjaft e fshehur. Në mënyrë tipike, quhet: Konsole, Terminal, X Terminal, ose diçka e ngjashme. Një tjetër mundësi është të përdorni një tastierë virtuale. Përdorimi: Ctrl + Alt + f1, ose f2, ose f3 në f7 ose f8, në varësi të shpërndarjes GNU / Linux që përdorni. Shell-i më i përdorur në GNU / Linux është Bash, megjithëse ka edhe të tjerë, të tilla si ksh ose C Shell. Në rastin tim, shumë e veçantë për botimet e mia unë përdor Bash Shell.

Duke pasur parasysh një Script bërë në Bash Shell thirrur hello_bota.sh mund të shpjegohet si më poshtë:

Përmbajtja:

#! / bin / bash
jehonë përshëndetje botë

Thyej:

Rreshti i parë i skenarit
#! / bin / bash

Tregon programin që duhet të ekzekutohet skenari. Nëse programi nuk mund të gjendet, do të ndodhë një gabim.

Linja e dytë e skenarit
jehonë përshëndetje botë

Ekzekutoni komandën echo me argumentet Hello World, duke bërë që ato të shfaqen në ekran.

Ekzekutimi: Ne mund ta ekzekutojmë skenarin në dy mënyra

Duke thirrur përkthyesin për të ekzekutuar skenarin:
# bash hello_world.sh

Mund të drejtohet gjithashtu si:
# sh hello_bota.sh

Por meqenëse Shell-i juaj i saktë nuk thirret, mund të funksionojë gjysma. Idealisht, Shell i thirrur në rreshtin e parë është ai që përdoret për ta ekzekutuar.

Ju gjithashtu mund ta ekzekutoni skenarin direkt si më poshtë:
# ./hello_world.sh

Shenim: ./ tregon ekzekutimin nga drejtoria aktuale.

Ajo që mbetet për tu analizuar është kodi që futni në të. Shpresoj se si gjithmonë ju pëlqen (disa më shumë se të tjerët, sipas nevojave të të mësuarit dhe njohurive) kjo seri e Shell Scripting.

Ka shumë lidhje të mira për këtë temë në internet, por unë ju lë këtë udhëzues të vogël të vendosur këtu në DesdeLinux. Net Dhe kjo tjetra Udhëzues i Jashtëm.

Deri në postimin tjetër!


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   d4ny dijo

    Lilo .. Linux Loader .. pjesa tjetër informacion shumë i mirë .. faleminderit .. salu2 d4ny.-

  2.   Ing Jose Albert dijo

    Përshëndetje për të gjithë ata që po ndjekin Kursin Online të "Mësoni Shell Scripting" së shpejti ne do të vazhdojmë me skenarë të tjerë bazë për të vazhduar përvetësimin e njohurive dhe për të vazhduar shoqërimin e tyre për të gjithë.

    Shpresoj të qëndrosh i akorduar sepse së shpejti do të filloj me kode më të përparuara por të ekspozuara në një mënyrë që është vizualisht e kuptueshme pavarësisht kompleksitetit të saj.

    Mos harroni se me Shell Scripting mund të bëni shumë gjëra komplekse që janë ndër-platformë (Distros Different) duke përdorur skedarë shumë të vegjël. Unë do t'ju lë këtë transmetim të vogël të ekranit për diçka që do t'ju mësoj së shpejti, për ata që vazhdojnë të shikojnë kursin, dhe që me vetëm 50 KB premton shumë! Dhe është vetëm gjysma e asaj që mund të bëhet me Shell Scripting.

    ScreenCast i Testit LPI-SB8 (INSTALIMI I POSTS LINUX - BICENTENARIO SHKRIMI 8.0.0)
    (lpi_sb8_adecuación-audiovizual_2016.sh / 43Kb)

    Shikoni shfaqjen në ekran: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto cardona dijo

      Përshëndetje, kontributi juaj është i pabesueshëm, me të vërtetë ju falënderoj shumë !!
      Kam një dyshim të vogël, a mund të programoj një përpilues me bash?
      Apo të paktën një analizues leksikor?
      e ka atë fuqi?

  3.   Ing Jose Albert dijo

    Përshëndetje për të gjithë ata që po ndjekin Kursin Online të "Mësoni Shell Scripting" së shpejti ne do të vazhdojmë me skenarë të tjerë bazë për të vazhduar përvetësimin e njohurive dhe për të vazhduar shoqërimin e tyre për të gjithë. Shpresoj të qëndroni të akorduar sepse së shpejti do të filloj me kode më të përparuara por të ekspozuara në një mënyrë që është vizualisht e kuptueshme pavarësisht nga kompleksiteti i saj.

    Mos harroni se me Shell Scripting mund të bëni shumë gjëra komplekse që janë ndër-platformë (Distros Different) duke përdorur skedarë shumë të vegjël. Unë do t'ju lë këtë transmetim të vogël të ekranit për diçka që do t'ju mësoj së shpejti, për ata që vazhdojnë të shikojnë kursin, dhe që me vetëm 50 KB premton shumë! Dhe është vetëm gjysma e asaj që mund të bëhet me Shell Scripting.

    ScreenCast i Testit LPI-SB8 (INSTALIMI I POSTS LINUX - BICENTENARIO SHKRIMI 8.0.0)
    (lpi_sb8_adecuación-audiovizual_2016.sh / 43Kb)

    Shikoni shfaqjen në ekran: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto dijo

    Pershendetje Jose,
    Së pari ju falënderoj për ndarjen e njohurive tuaja. Artikujt tuaj janë shumë interesantë.

    Dy gjëra, mendoj se është shumë e rëndësishme të përdoren thonjëzat e dyfishta "Përshëndetje Botë" dhe të kemi një prodhim të pastër të shkrimit tonë me daljen 0

  5.   Ing Jose Albert dijo

    Faleminderit për kontributet tuaja, në Shkrimin tjetër do të shihni përdorimin e daljes 0, pushimit dhe të tjerëve!

  6.   vullnetarmand dijo

    Përshëndetje.
    Shumë interesante, ju e bëni atë të duket e thjeshtë; Tani, kam zbuluar se nuk mund të programoj në Linux me cron ose në, mbyllje / pezullim / letargji, me fillimin pasues automatik të përdorimit të komandës rtc zgjim, nuk e di nëse një skenar me atë komandë do të ndihmonte, ose ata do të ndiqnin cron dhe pa bërë asgjë, ose thjesht nuk mund të bëhet, ose bëhet ndryshe, ose unë jam shumë ambicioz, por në Windows është relativisht e thjeshtë për ta bërë atë. Unë dua të kaloj në Linux, por është e rëndësishme për mua të caktoj mbylljen / pezullimin / letargjinë dhe të filloj PC-në vetvetiu. Të fala.

  7.   Ing Jose Albert dijo
  8.   vullnetarmand dijo

    Faleminderit, do t'i lexoj hollësisht, diçka do të më ndihmojë. Të fala.

  9.   Eduardo Kuomo dijo

    Disa kohë më parë fillova një projekt, i cili mendoj se është i një lloji. Shtë një prototip për një Bash Framewok. Ajo kërkon vetëm Bash në sistem.
    Nëse dikush tjetër është i interesuar, ata janë të ftuar ta provojnë dhe të bashkëpunojnë!

    https://github.com/reduardo7/bashx

    Përshëndetje!

    1.    hardhucë dijo

      I dashur Eduardo, mendoj se është një projekt i mrekullueshëm, ndoshta mund ta ndani me të gjithë komunitetin desdelinux, mbani mend se mund të publikoni një artikull në lidhje me projektin tuaj në faqen tonë të internetit, nëse nuk dini si ta bëni atë, ju rekomandoj të lexoni https://blog.desdelinux.net/guia-redactores-editores/ ku janë praktikat më të mira për krijimin e artikujve në desdelinux dhe procedurën që do të kryhet. Ndoshta për komunitetin është mjaft mirë që së pari të dijë për përfitimet e projektit tuaj dhe së dyti të mësojë se si të bëjë gjëra të tilla. Ne ju ftojmë dhe ftojmë të tjerët të ndajnë projektet e tyre me ne dhe komunitetin e madh që na rrethon.

  10.   Imazhi i vendit mbajtës të Miguel Urosa Ruiz dijo

    Pershendetje dite e mire
    Unë jam i ri në botën e administrimit të makinerisë Linux dhe doja të dija se çfarë rekomandoni për të: ksh, bash, perl, php, python.
    Faleminderit shumë dhe përshëndetjet.
    Michael.