Shell, Bash agus Scripts: Uile mu dheidhinn Sgrìobhadh Shell.

Anns a ’chothrom ùr seo (Inntrigeadh # 8) mu dheidhinn "Ionnsaich Sgrìobhadh Shell" cuiridh sinn fòcas nas motha air teòiridh na cleachdadh. is e sin, cha chuir sinn a-steach no sgrùdadh còd no stàlaich bathar-bog sònraichte (pasgan), ach rannsaichidh sinn a-steach do shaoghal na tha ann Sgrìobhadh Shell a ’bruidhinn gu ceart, tro na freagairtean do cheistean beaga ach dìreach, a chithear gu h-ìosal, gus soilleireachadh gu ruige seo mòran de na chaidh a theagasg, nach eil a’ toirt iomradh dìreach air a ’chòd a-staigh a tha air a phrògramachadh:

Sgrìobhadh ShellDè a th ’ann an Shell ann an Siostam Obrachaidh GNU / Linux?

Shell a tha ann an Spàinntis a ’ciallachadh CONCHA (slige, còmhdach, dìon). Tha an teirm seo air a chleachdadh ann an Siostaman Obrachaidh a ’toirt iomradh air eadar-theangair àithne an t-Siostam Obrachaidh. San fharsaingeachd, is e eadar-aghaidh teacsa àrd-choileanaidh a th ’ann, air a nochdadh ann an cruth Terminal (Console) agus a tha gu riatanach a’ frithealadh 3 raointean obrach cudromach:

1.- Stiùirich an OS,
2.- A ’ruith thagraidhean agus ag eadar-obrachadh leotha, agus
3.- Dèan seirbheis mar àrainneachd prògramaidh bunaiteach.

Mòran SO, GNU / Linux tha iad fhathast air an riaghladh nas èifeachdaiche le bhith a ’deasachadh na faidhlichean rèiteachaidh aca, tro Terminal. Mar riaghailt choitcheann, tha iad sin air an t-slighe ceann-uidhe: «/ msaa ", agus taobh a-staigh clàran sònraichte airson gach tagradh. Mar eisimpleir, am prògram Lilo (a tha a ’seasamh airson Linux Loader) air a rèiteachadh le bhith a’ deasachadh an fhaidhle teacsa a tha suidhichte agus ris an canar "/Etc/lilo/lilo.conf". A thaobh phrògraman (tagraidhean), tha iad sin air an cur air bhog (air an cur an gnìomh / air an cur an gnìomh) le bhith a ’sgrìobhadh ainm an neach-gnìomh, ma lorgar e san t-slighe (slighe àbhaisteach) airson a h-uile gnìomh, mar as àbhaist. "/ Usr / bin" , no le bhith a ’taipeadh ainm a’ ghnìomhaiche le: ./, bhon eòlaire far a bheil iad suidhichte.

Tha seo uile aithnichte do neach-cleachdaidh Shell sam bith. Ach, chan eil e cho aithnichte agus cho luachmhor sa tha na comasan aige mar àrainneachd prògramaidh. Chan fheum sgriobtaichean (prògraman) a chaidh a dhèanamh sa Shell a chur ri chèile. Bidh an Shell gan mìneachadh loidhne ri loidhne. Mar sin, tha iad sin aithnichte no air an ainmeachadh mar Sgrìobhaidhean Shells, agus faodaidh iad a bhith bho òrdughan sìmplidh gu sreath iom-fhillte de stiùiridhean airson an OS fhèin a thòiseachadh. San fharsaingeachd, co-chòrdadh gu math glan (follaiseach) (togail, òrdachadh), gan dèanamh nan deagh àite tòiseachaidh airson tòiseachadh ann an saoghal nam prògraman.

Dè a th ’ann an sgrìobhadh Shell?

Is e seo an dòigh (sgil / comas) a bhith a ’dealbhadh agus a’ cruthachadh Sgriobt (faidhle fèin-ghluasad gnìomh) a ’cleachdadh Shell (mar as fheàrr) de Siostam Obrachaidh, no Deasaiche Teacs (Grafach no Terminal). Is e seo seòrsa de chànan prògramaidh a tha air a mhìneachadh san fharsaingeachd. Is e sin, fhad ‘s a tha a’ mhòr-chuid de phrògraman air an cur ri chèile (air an còdadh), leis gu bheil iad air an atharrachadh gu maireannach gu còd sònraichte (sònraichte) mus gabh an cur gu bàs (pròiseas co-chruinneachaidh), tha sgriobt slige fhathast anns a ’chruth thùsail aige (an stòr teacsa còd aige) agus tha iad àithne air a mhìneachadh le àithne gach uair a thèid an cur gu bàs. Ged a tha e comasach gun gabh na sgriobtaichean a chur ri chèile cuideachd, ged nach eil e àbhaisteach.

Dè na feartan a th ’aig prògraman stèidhichte air prògramadh fo Shell Scripting?

1.- Tha iad nas fhasa a sgrìobhadh (prògram), ach le cosgais giullachd nas àirde nuair a thèid an cur gu bàs.

2.- Bidh iad a ’cleachdadh eadar-mhìnearan an àite coimeasgairean gus ruith

3.- Tha dàimh conaltraidh aca le co-phàirtean sgrìobhte ann an cànanan prògramachaidh eile.

4.- Tha na faidhlichean anns a bheil iad air an stòradh mar theacsa lom.

5.- Mar as trice tha an dealbhadh deireannach (còd) nas lugha na na bhiodh co-ionann ann an cànan prògramaidh cruinnichte.

Dè na seòrsaichean chànanan as mòr-chòrdte fo Shell Scripting?

1.- Cànan smachd gnìomh agus slige:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript tro Windows Script Host,
e) VBScript tro Windows Script Host,
f) REXX, am measg mòran eile.

2.- Sgrìobhadh GUI (Cànanan Macros):

a) AutoHotkey,
b) Autoit,
c) An dùil,
d) Automator, am measg feadhainn eile.

3.- Cànan sgrìobhaidh de thagraidhean sònraichte:

a) ActionScript ann am Flash,
b) MATLAB,
c) sgriobt mIRC,
d) QuakeC, am measg feadhainn eile.

4.- Prògramadh lìn (airson duilleagan fiùghantach):

a) Air taobh an fhrithealaiche:

- PHP,
- ASP (Duilleagan frithealaiche gnìomhach),
- Duilleagan JavaServer,
- ColdFusion,
- IPTSCRAE,
- Lasso,
- Sgriobt MIVA,
- SMX,
- XSLT, am measg eile.

b) Air taobh an neach-dèiligidh:

- JavaScript,
- JScript,
- VBScript,
- Tcl, am measg eile.

5.- Cànanan giullachd fhaclan:

- AWK,
- Perl,
- tart,
- XSLT,
- Bash, am measg eile.

6.- Cànanan fiùghantach adhbhar coitcheann:

- APL,
- Boo,
- Dylan,
- Ferite,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Ruby,
- Sgeama,
- Smalltalk,
- SuperCard,
- Tcl,
- Ar-a-mach, am measg eile.

Dè a th ’ann am Bash ann an GNU / Linux?

Is e prògram coimpiutair a tha ann gus òrdughan a mhìneachadh. Tha e stèidhichte air an Slige Unix agus tha e a ’toirt taic POSIX. Chaidh a sgrìobhadh airson pròiseact GNU agus is e seo an t-slige àbhaisteach airson a ’mhòr-chuid de sgaoilidhean Linux.

Dè a th ’ann an sgriobt Shell ann an GNU / Linux?

Sgrìobhaidhean nan Shell tha iad air leth feumail. Is e deagh bheachd na feumalachdan sin a th ’againn a sgrìobhadh agus an uairsin sgriobtaichean a dheasachadh a nì an obair seo dhuinn. Le seo, tha an t-àm ann faighneachd dè dìreach a tha ann an sgriobt. Is e faidhle teacsa a th ’ann, anns a bheil sreath de òrdughan shligean, a bhios an siostam a’ cur an gnìomh ann an dòigh òrdail, bho mhullach gu bonn. Gus an deasachadh, chan fheum thu ach deasaiche teacsa, leithid Emacs, Vi, Nano, am measg mòran a tha ann mu thràth. Tha iad air an sàbhaladh leis an leudachadh “.sh” (no às aonais, ann an cuid de chùisean) agus tha iad air an ruith bhon Shell a ’cleachdadh an àithne: sh script name.sh. Bidh sgriobtaichean gan giùlan fhèin san aon dòigh ri òrdughan shligean.

An dòigh teagaisg a tha mi gu pearsanta a ’cleachdadh "Ionnsaich Sgrìobhadh Shell" Tha e gu math practaigeach agus dìreach, is e sin, sgrùdadh a dhèanamh air Sgriobt làn-ghnìomhach, a dhì-ghalarachadh, a sgrùdadh seantans le seantans, loidhne a rèir loidhne, àithne le àithne, caochlaideach le caochlaideach, gus an tuig thu mar a tha gach eileamaid ag obair air leth agus mar a bhios e an sàs anns a ’chòd coitcheann. Tha e seòrsa de Einnseanaireachd cùil no ath-innleadaireachd bathar-bog. A h-uile càil seo leis an adhbhar a bhith a ’sealbhachadh an eòlais, ga leasachadh (ga mheudachadh) agus ga roinneadh, airson buannachd choitcheann agus rianachd agus optimization nas fheàrr de na Siostaman Obrachaidh an-asgaidh.

Ciamar a tha e a ’ruith agus ag obair ann an GNU / Linux Shell?

Is e a ’chiad cheum ann a bhith ag obair le Shell slige a ruith. Tha adhbhar airson a bhith coltach ri truism. Ann an cuid de sgaoilidhean GNU / Linux a tha gu mòr aig an neach-cleachdaidh, tha an t-slige gu math falaichte. Mar as trice, is e: Konsole, Terminal, X Terminal, no rudeigin coltach ris. Is e roghainn eile consola brìgheil a chleachdadh. A ’cleachdadh: Ctrl + Alt + f1, no f2, no f3 gu f7 no f8, a rèir an sgaoileadh GNU / Linux a bhios tu a’ cleachdadh. Is e Bash an Shell as motha a chleachdar ann an GNU / Linux, ged a tha feadhainn eile ann, leithid ksh no C Shell. Anns a ’chùis agam, gu sònraichte airson na foillseachaidhean agam bidh mi a’ cleachdadh Bash Shell.

A ’toirt seachad Sgriobt a chaidh a dhèanamh ann am Bash Shell ris an canar hello_world.sh faodar na leanas a mhìneachadh:

Susbaint:

#! / bin / bash
mac-talla hello saoghal

Briseadh sìos:

A ’chiad loidhne den sgriobt
#! / bin / bash

A ’nochdadh am prògram gum bu chòir an sgriobt a ruith. Mura h-urrainnear am prògram a lorg, tachraidh mearachd.

An dàrna loidhne den sgriobt
mac-talla hello saoghal

Cuir an gnìomh an àithne mac-talla leis na h-argamaidean Hello World, ag adhbhrachadh gun tèid an taisbeanadh air an sgrion.

Cur gu bàs: Faodaidh sinn an sgriobt a ruith ann an dà dhòigh

A ’toirt cuireadh don eadar-theangair an sgriobt a ruith:
# bash hello_world.sh

Faodar a ruith cuideachd mar:
# sh hello_world.sh

Ach bho nach eil an Shell ceart agad air a ghairm, is dòcha gun obraich e gu leth. Mas fheàrr, is e an Shell a chaidh a ghairm sa chiad loidhne an tè a thathas a ’cleachdadh airson a chuir gu bàs.

Faodaidh tu cuideachd an sgriobt a ruith gu dìreach mar a leanas:
# ./hello_world.sh

Nòta: ./ a ’comharrachadh ruith bhon eòlaire gnàthach.

Is e an còrr a tha fhathast ri sgrùdadh an còd a chuireas tu a-steach ann. Tha mi an dòchas gu bheil thu an-còmhnaidh a ’còrdadh riut (cuid a bharrachd air feadhainn eile, a rèir feumalachdan ionnsachaidh is eòlais) an t-sreath seo de Sgrìobhadh Shell.

Tha mòran cheanglaichean math air a ’chuspair seo air an lìon, ach fàgaidh mi an stiùireadh beag seo dhut an seo aig BhoLinux.net Agus am fear eile seo Stiùireadh a-muigh.

Gus an ath phost!


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

13 bheachd, fàg do chuid fhèin

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.

  1.   d4n thuirt

    Lilo .. Linux Loader .. an còrr fiosrachadh fìor mhath .. taing .. salu2 d4ny.-

  2.   Ing Jose Albert thuirt

    Beannachdan don h-uile duine a tha a ’leantainn a’ Chùrsa Air-loidhne de “Learn Shell Scripting” a dh ’aithghearr cumaidh sinn oirnn le sgriobtaichean bunaiteach eile gus leantainn air adhart a’ cleachdadh an eòlais agus a ’leantainn air adhart gu sòisealta dha na h-uile.

    Tha mi an dòchas gun cùm thu sùil ort oir a dh ’aithghearr tòisichidh mi le còdan nas adhartaiche ach nochdaidh mi ann an dòigh a tha so-thuigsinn a dh’ aindeoin cho iom-fhillte ‘sa tha e.

    Cuimhnich, le Shell Scripting, gun urrainn dhut mòran de rudan iom-fhillte a dhèanamh a tha tar-àrd-ùrlar (Diofar Distros) a ’cleachdadh faidhlichean glè bheag. Fàgaidh mi an scrion-dhealbh beag seo de rudeigin a dh ’ionnsaicheas mi dhut a dh’ aithghearr, dhaibhsan a chumas ort a ’coimhead air a’ chùrsa, agus le dìreach 50Kb a ’gealltainn tòrr! Agus chan eil ann ach leth de na as urrainn dhut a dhèanamh le Shell Scripting.

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

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

    1.    Alberto cardona thuirt

      Halò, tha do thabhartas iongantach, mòran taing !!
      Tha beagan teagamh agam, an urrainn dhomh inneal-cruinneachaidh a dhèanamh le bash?
      No co-dhiù anailisiche lexical?
      a bheil an cumhachd sin?

  3.   Ing Jose Albert thuirt

    Beannachdan don h-uile duine a tha a ’leantainn a’ Chùrsa Air-loidhne de “Learn Shell Scripting” a dh ’aithghearr cumaidh sinn oirnn le sgriobtaichean bunaiteach eile gus leantainn air adhart a’ cleachdadh an eòlais agus a ’leantainn air adhart gu sòisealta dha na h-uile. Tha mi an dòchas gun cùm thu sùil ort oir a dh ’aithghearr tòisichidh mi le còdan nas adhartaiche ach nochdaidh mi ann an dòigh a tha so-thuigsinn a dh’ aindeoin cho toinnte.

    Cuimhnich, le Shell Scripting, gun urrainn dhut mòran de rudan iom-fhillte a dhèanamh a tha tar-àrd-ùrlar (Diofar Distros) a ’cleachdadh faidhlichean glè bheag. Fàgaidh mi an scrion-dhealbh beag seo de rudeigin a dh ’ionnsaicheas mi dhut a dh’ aithghearr, dhaibhsan a chumas ort a ’coimhead air a’ chùrsa, agus le dìreach 50Kb a ’gealltainn tòrr! Agus chan eil ann ach leth de na as urrainn dhut a dhèanamh le Shell Scripting.

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

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

  4.   Alberto thuirt

    Halo Jose,
    An toiseach taing airson do chuid eòlais a roinn. Tha na h-artaigilean agad gu math inntinneach.

    Dà rud, tha mi a ’smaoineachadh gu bheil e glè chudromach na luachan dùbailte“ Hello World ”a chleachdadh agus toradh glan den sgriobt againn le fàgail 0

  5.   Ing Jose Albert thuirt

    Taing airson do thabhartasan, anns an ath Sgriobt chì thu cleachdadh fàgail 0, briseadh, agus feadhainn eile!

  6.   Willarmand thuirt

    Taing.
    Gu math inntinneach, bidh thu ga dhèanamh a ’coimhead sìmplidh; A-nis, tha mi air faighinn a-mach nach urrainn dhomh prògramadh ann an Linux le cron no aig, an dùnadh / stad / cadal a ’gheamhraidh, leis an tòiseachadh fèin-ghluasadach mar thoradh air sin a’ cleachdadh an àithne dùsgadh rtc, chan eil fhios agam an cuidicheadh ​​sgriobt leis an àithne sin, no iadsan leanadh e cron agus t gun dad a dhèanamh, no chan urrainnear a dhèanamh, no tha e air a dhèanamh ann an dòigh eile, no tha mi gu math àrd-mhiannach, ach ann an Windows tha e gu math sìmplidh a dhèanamh. Tha mi airson gluasad gu Linux, ach tha e cudromach dhomh clàr dùnadh / casg / cadal a ’gheamhraidh agus tòiseachadh air a’ PC leis fhèin. Beannachdan.

  7.   Ing Jose Albert thuirt

    Is dòcha gun toir seo beachdan ùr-ghnàthach dhut: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html

  8.   Willarmand thuirt

    Tapadh leibh, leughaidh mi iad gu mionaideach, cuidichidh rudeigin mi. Beannachdan.

  9.   Eideard Cuomo thuirt

    O chionn ùine thòisich mi air pròiseact, a tha mi a ’smaoineachadh a tha mar aon de sheòrsa. Tha e na prototype airson Bash Framewok. Chan fheum e ach Bash air an t-siostam.
    Ma tha ùidh aig cuideigin eile, gheibh iad cuireadh feuchainn air agus co-obrachadh!

    https://github.com/reduardo7/bashx

    Tapadh leibh!

    1.    dearc thuirt

      A Eduardo, a ghràidh, tha mi den bheachd gur e pròiseact fìor mhath a th ’ann, is dòcha gum b’ urrainn dhut a roinneadh leis a ’choimhearsnachd desdelinux gu lèir, cuimhnich gum faod thu artaigil fhoillseachadh mun phròiseact agad air an làrach-lìn againn, mura h-eil fios agad ciamar a nì thu e, tha mi a’ moladh dhut a leughadh https://blog.desdelinux.net/guia-redactores-editores/ càite a bheil na cleachdaidhean as fheàrr airson artaigilean a chruthachadh ann an desdelinux agus an dòigh-obrach airson a choileanadh. Is dòcha airson na coimhearsnachd gu bheil e gu math fios a bhith agad mu na buannachdan bhon phròiseact agad agus an dàrna àite gus ionnsachadh mar a nì thu an seòrsa rud seo. Tha sinn a ’toirt cuireadh dhut agus tha sinn a’ toirt cuireadh don chòrr sanasachd a dhèanamh air na pròiseactan aca leinn agus leis a ’choimhearsnachd fharsaing a tha timcheall oirnn.

  10.   Ìomhaigh neach-àite Miguel Urosa Ruiz thuirt

    Halo latha math.
    Tha mi ùr do shaoghal rianachd inneal Linux, agus bha mi airson faighinn a-mach dè a tha thu a ’moladh air a shon: ksh, bash, perl, php, python….
    Tapadh leibh gu mòr agus beannachdan.
    Mìcheal.