Prògramadh ann am bash - pàirt 1

Ged a bhios sinn ga chleachdadh sa chumantas airson obair rianachd no stiùireadh faidhle, tha an consoil de Linux a ’leudachadh a ghnìomhachd fada nas fhaide na an adhbhar sin, a’ leigeil leinn prògramadh sgriobtaichean Chan eil an stiùireadh seo an dùil a bhith na iomradh iomlan air prògramadh Bash, ach mar ro-ràdh do na h-òrdughan agus na structaran bunaiteach, a leigeas leinn cumhachd an t-siostam GNU / Linux againn a leudachadh.

Dè a th ’ann an“ Sgriobt ”?

Gu bunaiteach tha sinn ag ràdh gur e faidhle a th ’ann anns a bheil còd sgrìobhte ann an cànan prògramaidh sònraichte a bhios an siostam a’ cleachdadh airson gnìomh sònraichte. Chan fheum e cuir a-steach taobh a-muigh no eadar-aghaidh grafaigeach, ach feumaidh e toradh de dhàta giullaichte adhbhrachadh (eadhon mura h-eil an neach-cleachdaidh ga fhaicinn).

Tha an cànan a tha Bash a ’cleachdadh air a mhìneachadh leis an eadar-theangair aige fhèin agus a’ cothlamadh criathragan Shells eile, leithid an Korn Shell (ksh) no an C Shell (csh). Faodar mòran de na h-àitheantan a tha mar as trice air an cleachdadh sa chonsól a chleachdadh ann an sgriobtaichean, ach a-mhàin an fheadhainn a tha gu dlùth a ’buntainn ri cuairteachadh sònraichte.

Structar sgriobt

Gus tòiseachadh feumaidh neach-deasachaidh teacsa a bhith againn agus miann prògramadh. Faodar na faidhlichean a shàbhaileas sinn le leudachadh .sh a chuir gu bàs (no a mhìneachadh) leis a ’chonsól, cho fad‘ s a tha a ’chiad loidhne mar a leanas:

#! / bin / bash

Tha seo ag innse don t-siostam an consol a chleachdadh gus am faidhle a ruith. A bharrachd air an sin, leigidh an caractar # leat beachdan a sgrìobhadh. Gus an eisimpleir as sìmplidh a chruthachadh cuiridh sinn aon loidhne a bharrachd, mar a chithear san ìomhaigh a leanas:

Bidh an àithne mac-talla a ’taisbeanadh teachdaireachd air an sgrion, anns a’ chùis seo an saoghal àbhaisteach “Hello world!” Ma shàbhaileas sinn e agus gun cuir sinn an gnìomh e leis a ’chonsól chì sinn an toradh.

Òrdughan bunaiteach

Tha na h-òrdughan a leanas cumanta agus glè fheumail airson seòrsa sam bith de phrògram. Bidh sinn a ’soilleireachadh gu bheil mòran a bharrachd ann, ach airson a-nis còmhdaichidh sinn na leanas.

Ailiasan: a ’ceadachadh sreath de fhaclan a chuir an àite fear nas giorra, a’ ceadachadh lughdachadh còd.

#create alias ris an canar per le seòladh am pasgan #Downloads alias per = '/ home / user / Downloads' # Gach uair a tha sinn airson a chleachdadh feumaidh sinn dìreach #the facal ùr a ghairm gach # Gus an ailias sin a sgrios, tha sinn cleachd unalias unalias per

briseadh: a ’leigeil leat fàgail sa bhad airson, fhad‘ s, gus no tagh lùb (nì sinn sgrùdadh mionaideach air lùban nas fhaide air adhart)

#Create lùb a shònraicheas na h-àireamhan bho 1 gu 5 # airson gach “tionndadh den lùb” airson a ’chunntair ann an 1 2 3 4 5 dèan # Bidh sinn a’ clò-bhualadh luach làithreach an #counter caochlaideach, a tha air a sgrùdadh leis a ’charactar $ mac-talla “$ counter” # Ma tha luach a ’chunntair co-ionann ri 3 ma tha [$ counter –eq 3] an uairsin #Tha am briseadh a’ dol a-mach às an lùb airson break fi dèante

lean air adhart - Coltach ri briseadh, ach a-mhàin gu bheil e a ’seachnadh an lùb gnàthach agus a’ dol chun ath fhear.

#Create lùb a shònraicheas na h-àireamhan bho 1 gu 5 # airson gach “tionndadh den lùb” airson a ’chunntair ann an 1 2 3 4 5 dèan # Ma tha luach a’ chunntair co-ionann ri 3 ma tha [$ counter –eq 3] an uairsin # Lean air adhart a ’cur casg air a’ chòrr den chearcall gnàthach bho bhith air a mhion-sgrùdadh le bhith a ’leum chun ath chuairt, is e sin, cha tèid an #value 3 a chlò-bhualadh. lean fi echo "$ counter" dèante

cuir an cèill: ag ainmeachadh caochladairean agus a ’sònrachadh luachan dhaibh, dìreach mar a tha clò-bhuailte (bidh iad ag obair san aon dòigh). Faodaidh sinn a chur còmhla le cuid de roghainnean: -i ag ainmeachadh integers; -r airson caochladairean leughaidh a-mhàin, nach urrainnear an luach atharrachadh; –A airson arrays no “arrays”; -f airson gnìomhan; -x airson caochladairean a ghabhas "às-mhalairt" taobh a-muigh àrainneachd an sgriobt fhèin.

cuir an cèill –i num = 12 cuir an cèill –x pi = 3.14

cuideachadh: a ’sealltainn cuideachadh airson àithne sònraichte.

obraichean: a ’sealltainn na pròiseasan ruith.

#With –c bidh sinn a ’sealltainn ainm nan àitheantan, le –p # am pid (id pròiseas) gach pròiseas. obraichean -cp

leig: dèan measadh air abairt àireamhachd

leig a = 11 leig a = a + 5 #Finally bidh sinn a ’clò-bhualadh luach rud a tha 16 mac-talla" 11 + 5 = $ a "

ionadail: cruthaich caochladairean ionadail, a bu chòir a chleachdadh ann an gnìomhan an sgriobt fhèin gus mearachdan a sheachnadh. Faodaidh tu na h-aon ghnìomhan a chleachdadh ris an àithne dearbhte.

local v1 = "Is e caochladair ionadail a tha seo"

logout: a ’ceadachadh logadh a-mach à Shell gu tur; feumail airson cùisean far a bheil sinn ag obair le barrachd air aon uinneag shligean, far nach leig an àithne fàgail ach aon uinneag a thoirt gu crìch aig an aon àm.

printf: a ’leigeil leat dàta a chlò-bhualadh agus a chruth. Tha mòran roghainnean ann, mar sin bheir sinn iomradh air beagan.

#% f clò-bhualaidhean mar àireamh air bhog, n airson # loidhne printf ùr "% fn" 5 5.000000 # & d a ’ceadachadh àireamhan deicheach a thoirt seachad mar argamaidean printf" Tha% d òrdughan air an luachadh ann an% d dollars.n "20 500 Tha 20 òrdugh le luach 500 Dollar.

leugh: leugh loidhne bho chur-a-steach àbhaisteach (modal air a chleachdadh ann an luchdachadh dàta tron ​​mheur-chlàr mar eisimpleir). Faodaidh sinn a dhol seachad air roghainnean mar: -t gus ùine crìoch leughaidh a thoirt seachad; -a gus am bi gach facal air a shònrachadh gu suidheachadh anns an raon aname; -d delimiter a chleachdadh airson a sgrìobhadh aig deireadh na loidhne; am measg eile.

mac-talla "Cuir a-steach d’ ainm agus brùth ENTER "#Read the caochlaideach ainm leugh mac-talla" Is e $ ainm an t-ainm agad "

seòrsa: a ’toirt cunntas air àithne agus a ghiùlan. Faodaidh e a bhith feumail faighinn a-mach na mìneachaidhean dàta airson gach àithne.

tha seòrsa –a ’[’ #type ag innse dhuinn gur e [àithne Shell builtin [a th ’ann an Shell builtin # -a a leigeas leis na clàran anns a bheil # gnìomh a lorg leis an ainm sgrìobhte. [is / usr / bin / [

ulimit: a ’cuingealachadh ruigsinneachd agus cleachdadh cuid de ghoireasan siostam gu pròiseasan, air leth freagarrach airson prògraman a cheadaicheas atharrachaidhean rianachd no a tha ag amas air diofar sheòrsaichean de luchd-cleachdaidh. Nuair a bhios sinn a ’suidheachadh crìoch bidh sinn a’ sgrìobhadh àireamh a tha a ’riochdachadh kilobytes na crìche.

# Chì sinn na crìochan gnàthach againn ulimit –a # -f a ’leigeil le luchd-cleachdaidh a chuingealachadh gun a bhith comasach air # faidhlichean a chruthachadh nas motha na 512000 Kb (500 #Mb) ulimit –f 512000 # -v a’ cuingealachadh cuimhne brìgheil a ’phròiseis. ulimit –v 512000

feitheamh: feitheamh ri pròiseas no obair sònraichte a dhèanamh gus leantainn air adhart.

#Tha an sgriobt a ’feitheamh ris a’ phròiseas pid # 2585 a dhèanamh

feitheamh 2585

Tha òrdughan feumail eile as urrainn dhuinn a chur ri sgriobtaichean air an riochdachadh le samhlaidhean.

!!: ruith an àithne mu dheireadh a-rithist

! wer: cuir an gnìomh an àithne mu dheireadh a thòisich leis an abairt “wer”.

'==', '! =', '>', '<', '> =', agus '<=': gnìomhaichean dàimh.

|: Mar as trice bhiodh an gnìomhaiche OR a ’tighinn còmhla ri dà abairt cunbhalach.

: teicheadh ​​àithne a leigeas leat abairtean a chruth. Mar eisimpleir: a airson rabhadh fuaim, n airson loidhne ùr, b airson backspace, msaa.

Tapadh leibh Juan Carlos Ortiz!

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

10 bheachd, fàg do chuid fhèin

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh. Feum air achaidhean air an comharrachadh le *

*

*

  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.   Meadhanach duilich thuirt

    Sgoinneil! Co-dhiù 2 beachd: Tha taga Ubuntu leth cus, oir tha e a ’dèanamh coitcheann air rudeigin a tha coitcheann. Agus ma chumas na clasaichean seo a ’dol air adhart, bhiodh e math ma tha iad ceangailte ri chèile….
    A bharrachd air an sin, tha an gluasad seo inntinneach!

  2.   Cleachdamaid Linux thuirt

    Deagh thabhartas! Sgoinneil!

  3.   Giovanni escobar sosa thuirt

    Dìreach a ’call teisteanasan dhaibhsan a tha airson barrachd fhaighinn a-steach don chùis. Tha cuid math ged nach eil iad cho furasta an lorg anns na dùthchannan againn
    - Stiùireadh practaigeach air òrdughan Linux, luchd-deasachaidh agus prògramadh Shell, Mark Sobell (Caibideil 8)
    - Prògramadh Pro Bash, Chris FA Johnson (ged a tha seo dhaibhsan aig a bheil teisteanasan eile no beagan a bharrachd eòlais).

    Artaigil math.

  4.   Cleachdamaid Linux thuirt

    Ceann-latha math! Tapadh leat!

  5.   Patricio Dorantes Jamarne thuirt

    : @ Chuir an gnìomh "log a-steach mar" às do mo bheachd roimhe, agus mar sin bheir mi geàrr-chunntas air tuilleadh:
    obraichean -cp
    bash: obraichean: -c: roghainn neo-dhligheach
    obraichean: cleachdadh: obraichean [-lnprs] [Jobspec…] no obraichean -x àithne [args]

    -eq -gt -lt nach gabh thu ri caochladairean puing deicheach, eadar fòram agus fòram fhuair mi a-mach gu bheil bc na charaid math:
    ma tha [`mac-talla 9.999> 10 | bc` -eq 1]; an uairsin
    mac-talla "Tha 9.999 nas motha na 10, dèan cinnteach gu bheil am pròiseasar agad fhathast ag obair"
    eile
    chan eil mac-talla «9.999 nas motha na 10, bidh a h-uile dad ag obair mar as àbhaist
    fi

  6.   NotFromBrooklyn thuirt

    Tha an dreuchd seo a ’toirt geàrr-chunntas fìor mhath air a h-uile coitcheann de sgrìobhadh bash:
    http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html

    Air an làrach seo gheibh thu mòran cheistean is fhreagairtean mu nithean sònraichte bash:
    http://unix.stackexchange.com/questions/tagged/bash

    Seo cuid de na sgriobtaichean fìor fhionnar, agus hey, faodaidh tu an ionnsachadh le bhith a ’leughadh sgriobtaichean dhaoine eile:
    http://snipplr.com/search.php?q=bash&btnsearch=go

  7.   NotFromBrooklyn thuirt

    Tha thu ceart leis na tha thu ag ràdh, ach a-mhàin bash. Tha bash ann an / bin / bash anns a h-uile siostam a chunnaic mi.

    Ach airson python, perl, ruby, msaa, tha e ceart gu leòr sin a chleachdadh. Tha mi

  8.   Guille thuirt

    Gu h-iongantach, anns a ’cholaiste, tha sinn a’ cleachdadh sgrìobadh bash gus am bi an dàta 10, glè mhath!

  9.   alex vi thuirt

    bhiodh dreach pdf ri luchdachadh sìos math !! 😀

  10.   Marco Antonio De Fuentes thuirt

    Làrach fìor mhath. Lorg mi rudeigin feumail mu dheireadh. Tapadh leat.