Aragtida Bash

/ bin / bash

0. Tusmo

  1. Waxyaabaha ku dhaca dadka intiisa badan
  2. Qaab dhismeedka qoraalka
  3. Ku daabac shaashadda
  4. Akhriso TILMAAMAHA isticmaale
  5. Xisaabinta bash
  6. Xaaladaha
  7. Loops
  8. Functions
  9. Gawaarida

1. Waxyaabaha ku dhaca dadka intiisa badan

/ bin / bash ama / bin / sh

Mid ka mid ah waxyaabaha ugu horreeya ee mashiinku sameeyo markuu fulinayo qoraalkeenna ayaa eegaya qolofka ay tahay inuu ku sameeyo. Inta badan nidaamyada Linux-ka hadda jira / bin / sh waa xiriiriye / bin / bash, laakiin tan markasta maahan kiiska, tusaale ahaan qaybinta isticmaasha mashquulbox way keenaan Sh oo sida caadiga ah iyaguna way keenaan Man uted, laakiin hadaad isticmaasho / bin / sh, lama socon doonto Bash. Taasi waa sababta aan ugu taliyo marwalba inaad isticmaasho / bin / bash.

Unicode vs. ASCII

Weligaa ma isweydiisay sababta aadan ugu isticmaali karin "¿" ama "ñ" qoraaladaada? Ama isticmaal lahjad? Waxay ku noqon kartaa wax aad u xanaaq badan qoraallada is-dhexgalka. Taasi waa sababta oo ah habaynta aasaasiga ah ee Bash waa ASCII, ama wixii la mid ah, astaamaha Ingiriisiga loo dejiyay. Si loo badalo, waa inaan kaliya u sheegno qoraalkayaga inaan dooneyno inaan adeegsanno Unicode. Taas awgeed waa inaad ku dartaa xariiq isla markii uu tarjumayo amarka:

# - * - KOOBKA: UTF-8 - * -

Ka taxaddar, waxaa muhiim ah in xarriiqdani ay tahay bilowga qoraalka.

Ka dhig qoraalka mid la fulin karo

Waa wax lagu qoslo inta qof ee ku maamula qoraallada «$ bashscript.sh"halkii"$ ./script.shDhamaantiis, tan waa tan aan u qeexnay qolof.

Si loo daro rukhsadda fulinta, waa inaad fulisaa:

sudo + x script.sh
Haddii qoraalkeena la fulin karo, waxaan ku dari karnaa PATH-keena oo waxaan ka dhigi karnaa mid laga fulin karo meel kasta / galka kombiyuutarkayaga. Taas awgeed waa inaan ku darnaa midkood .bashrc ee adeegsadeheena ama / iwm / bashrc khadka
BIN = "galka meesha aan ku haysanno qoraallada" PATH = "$ BIN $ PATH"
Waa sharci Bash ah in lagu qoro magacyada isbeddelaya dhammaan noocyada waaweyn. Dad badan ayaan raacin sharcigan, laakiin qoraallada dhaadheer waa la mahadiyey maxaa yeelay waxay ka dhigaan kuwo aad loo akhriyi karo

2. Qaab dhismeedka qoraalka

  1. Madaxa
  2. Qeexitaanka is-beddelka caalamiga ah
  3. Caawin
  4. Functions
  5. Jirka ugu weyn

Ciwaanka waa meesha aan ku muujineyno qolofkeena aan dooneyno inaan adeegsanno iyo codeynta. Faa'iidooyinka shaqooyinku waa in dib loo isticmaalo koodhka lagu celceliyo iyadoo la qoro hal jeer oo keliya isla markaana loo fududeeyo in la fahmo qoraalka, koodh ka badan 100 sadar waa mid aad u faa'iido badan

Si loo adeegsado shaqooyinka, waa in lagu qeexaa kahor qeybta ugu weyn ee qoraalkeena. Iyo haddii aan rabno inaan u adeegsanno doorsoomayaasha heer caalami ee dhammaan qoraalladeena, labadaba jirka iyo shaqooyinka, waa inaan ku qeexnaa bilowga wax walba, kaliya cinwaanka kadib.

Ugu dambeyntiina, waa ficil wanaagsan in loo qoro waxqabadka caawiyaha marka qoraalkeennu si xun u socdo ama uu cabbiro xun ku socdo. Sida iska cad, xaaladahaas waxaan rabnaa inaan si deg deg ah uga baxno qoraalka, annaga oo aan aqrinin howlaha. Taas waxaan u isticmaali karnaa:

waxqabadka caawinta () {echo "" "Qoraalkeena caawimaad ee qaabeysan qaabeysan." "" bixida hadii [[-z $ 1 || $ 1 == "-h" || $ 1 == "--help"]]; markaa caawi fi

Haddii aan ku darno "bixitaanka" howlaha caawinta, waxaan ka bixi doonnaa qoraalka markasta oo aan caawimaad wadno, tusaale ahaan fariimaha qaladka ka dib, iwm. Waxaan keydineynaa dhowr xariiq oo koodh ah.

Xaaladdu waxay muujineysaa caawinta muujinta shaashadda oo ka bax haddii qoraalka la wado iyada oo aan la cabbiri karin ama haddii -h / –help la cayimay. Haddii aad u fiirsato, taasi waa dhaqanka caadiga ah ee barnaamijyada Linux-ka badankood.

Isticmaalka saddexda xigasho ee echo waxay kuu oggolaaneysaa inaad isticmaasho nasashada qadka adigoon ka tagin farriinta lagu soo bandhigayo echo. Fariimaha fara-dhowrka badan ayaa aad ugu haboon isticmaalka echo mar kaliya.

3. Ku daabac shaashadda

Waxaa jira 2 amarro waaweyn oo loogu talagalay daabacaadda si loogu shaashado bash: «codso»Iyo«printf«. Labaduba si dhakhso leh ayey u wada socdaan labaduba qayb bay ka yihiin. Farqiga ugu weyn ee bilowgu waa echo wuxuu ku darayaa khad cusub dhamaadka, halka «printf»Maaha.

Echo waa mid aad u wanaagsan oo waa waxa dadka badankood ay adeegsadaan, hase yeeshe marka la aqrinayo INPUT-ka isticmaaleha, ama marka aad rabto inaad daabacato doorsoomayaasha laga soo qaatay feylasha iyadoo la adeegsanayo ereyga, waxyaabo yaab leh ayaa dhici kara Caadi ahaan si fudud ayaa loo xaliyaa, sida ugu fudud ee loo beddelayo xigashooyinka laba-laabka ah ee keli keli ah ama dhinaca kale, ama ka qaadashada tixraacyada isbeddelka ah ee ka soo baxa xigashooyinka. «Echo»Waxyaabo la yaab leh miyuu sidoo kale ku xiran yahay sida loo soo ururiyey, haddii aan mar walba isticmaalno Ubuntu ama had iyo jeer Fedora, nama saameynayso, laakiin haddii aan beddelno qaybinta way samaynaysaa.

Taasi waa sababta aan u isticmaalo «printf«, Taas oo aan isiinin madax-xanuun sidoo kalena u dhaqanta sida«printf»Ka yimid C ama«print»Python, kani waa mid aad muhiim u ah haddii aad waligaa rabto inaad qoraalkaaga ugu wareejiso luqad kale oo barnaamij ah.

4. Aqri aqbasho isticmaaleyaasha

Wax kasta oo aan qoro ka dib magaca qoraalkeena iyo ka hor intaadan garaacin furaha ENTER si otomaatig ah ayaa loogu keydiyaa doorsoomayaal gaar ah. Isbedelayaashani waa nooca $ X halka uu X ka yahay lambar.

«$0»Waxay muujineysaa magaca qoraalkeena iyo ka yimid«$1»In aan la koobi karin wax kasta oo aan gadaal ka qornay way isbedelayaan. Tusaale ahaan:

bisad << EOF >> test.sh #! / bin / bash # - * - KOOBIDDA: UTF-8 - * - printf "\ $ 0 = $ 0 \ n" printf "\ $ 1 = $ 1 \ n" printf "\ $ 2 = $ 2 \ n "EOF chmod + x script.sh ./script.sh faylkayga.txt

Waxaan abuureynaa qoraal tijaabo ah, waxaan ka dhigeynaa mid la fulin karo, waxaanna ku shaqeynaa 2 halbeeg. Waxaan helnaa soosaarka shaashadda:

$ 0 = ./script.sh $ 1 = my $ 2 = file.txt

Adeegsiga xigashooyinka waxaan u gudbin karnay "faylkeyga.txt" illaa "$ 1".

Waxaan sidoo kale ku aqrin karnaa INPUT-ka isticmaaleha amarka "aqri", oo si toos ah u muujinaya doorsoomaha meesha aan rabno inaan ku keydinno cabirka. Tusaale ahaan:

printf "Waa maxay magacaagu? \ n" akhri NAME printf "Hello, $ NAME. \ n"
Ka taxaddar xil u helista doorsoomayaasha. "$ VAR = ka kooban" ayaa soo saari doonta qalad, ma jiri karo meel bannaan oo loogaga tagi karo inta udhaxeysa calaamadda siman, magaca is beddelaya iyo waxa ku jira. Adeegsiga saxda ah waa "VAR = ka kooban"

5. Xisaabinta ku jirta Bash

Taas waxaan u isticmaali karnaa «muujin«, Ilaa iyo inta aynaan u baahnayn inaan samayno xisaab adag. Laba waxyaalood waa in la ogaadaa, tan hore waa in «muujin»Kaliya waa qirayaa tirooyinka oo dhan, tan labaadna waa kala qeybsanaanta oo natiijada oo dhan soo celineysa, si aan u aragno inta kale ee aan u isticmaali karno%«.

Caadi ahaan waxaan dooneynaa inaan u dhigno natiijada expr doorsoomaha. Waxaan taas ku samayn karnaa laba siyaabood:

VAR2 = 'expr $ VAR1 / 10` VAR2 = $ (expr $ VAR1 / 100)

Sidoo kale waad ka boodi kartaa «muujin»Isticmaalidda laba-labo:

VAR2 = $ (($ VAR1 / 100))
Sharaxaad dheeri ah oo ku saabsan «muujin»Ama beddelaad adeegsada tirooyin dhan, waad eegi kartaa galkaan KZKG ^ gaara.

6. Xaaladaha

Horay ayaa loo qoray oo ku saabsan «if«,«kale«,«Elif»Iyo shuruudo. Waxaad ka akhrisan kartaa taas:

Kaliya waxaan rabaa inaan muujiyo farqiga u dhexeeya isticmaalka xargaha laba jibbaaran ee fudud, «[]«, Iyo laba qaansooyin,«[[]]«, Shuruudaha. Iyada oo leh laba jibbaar waxaan isticmaali karnaa shuruudo dheeri ah:

  • «&&»Wixii iyo
  • «||»Loogu talagalay ama

Si aad u isticmaasho "&&»Iyo«||»Iyada oo leh qaansooyin laba jibbaaran oo fudud, qayb kasta waa in lagu kala saaraa qaansooyin laba jibbaaran oo gooni ah Tusaalaha loo adeegsaday qaybta qoraalka ee eegaysa haddii caawimaad u baahan tahay in la fuliyo waxay noqonaysaa:

haddii [-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "--caawimo"]]; markaa caawi fi

Waxay sidoo kale naga badbaadineysaa inaan ku qorno magacyo isbeddel ah xigashooyin si looga hortago khaladaadka. Tusaale ahaan:

haddii [$ 1 = 1]; ka dibna daabac "Halbeegga wuxuu la mid yahay 1."; fi haddii ["$ 1" = 1]; ka dibna daabac "Halbeegga wuxuu la mid yahay 1."; fi haddii [[$ 1 = 1]]; ka dibna daabac "Halbeegga wuxuu la mid yahay 1."; fi

Haddii script.sh la wado iyada oo aan wax xaddid ah lahayn, kiiska koowaad wuxuu ku siin lahaa qalad:

bash: [: =: hawl wade aan la filayn
In Bash "=" iyo "==" labadaba si isku mid ah ayaa loo fasiray. Tani kuma dhacdo luuqadaha kale ee barnaamijyada halka "=" loo isticmaalo kaliya in lagu meeleeyo doorsoomayaal.

Waxa aan laga hadlin waa «kiiska«, Waxaa loo adeegsaday fududaynta«if«. Aynu bilowno bilowga, markaynaan haysan wax «if»Koodhka oo dhan waa la fulin doonaa. Haddii aan ku darno xaalad «ifWaxaan lahaan doonaa laba kiis, mid ka mid ah oo koodhku xannibmo gudaha «if»Iyo kiiska kale ee aan dhismahan la fulin.

Haddaan ku darno «kaleWaxaan sidoo kale yeelan doonnaa laba kiis, laakiin labadan kiis ayaa ka duwan kuwii hore. Sababtoo ah hadda waxaa jiri doona laba qaybood oo koodhadh shuruudaysan ah, A iyo B, iyo baloog C ah, oo ah inta kale ee barnaamijka. A ama B waa la fulin doonaa, iyo C. Kiiskii hore wuxuu ahaa A iyo C ama kaliya C.

Si looga fogaado shuruudaha qorista «haddii / kale"gudahood"kale»Iyo in la fududeeyo aqrinta koodhka, waxaa la abuuray«Elif«. Markaynu haysanno shuruudo badan oo ku tiirsan tii hore, tusaale ahaan tiro kala duwan ama nooca:

VAR1 = $ 1 haddii [[$ VAR1 = 1]]; ka dibna daabac "1 \ n" elif [[$ VAR1 = 2]]; ka dibna daabac "2 \ n" elif [[$ VAR1 = 3]]; markaa daabac "3 \ n" kale daabac "midna \ n" fi

Xaaladda «ugu dambeeya»Elif»Shuruudo badan ayaa la aqrin doonaa. Haddii ay dhacdo in nidaamkan la hagaajiyo:

VAR1 = $ 1 kiis $ VAR 1) daabac "1 \ n" ;; 2) printf "2 \ n" ;; 3 | 4) printf "3 ama 4, waxay kuxirantahay \ n" ;; *) printf "midna \ n" ;; in C

Doorsoome ayaa la akhrin doonaa, kiiskan VAR1, waana la hubin doonaa haddii uu u dhigmo mid ka mid ah kiisaska, haddii kale, kiiska caadiga ah "*" waa la fulin doonaa. Laba-semicolons-ka waxay u dhigmaan «nasashada«, Waxay ku sheegaan«kiiska»Taasi waa inay dhammaataa.

«Case»Sidoo kale waxaa loo isticmaali karaa isku xigxiga«if«, Taas waa inaad u isticmaashaa« ;; & »(sii wad) halkii aad ka isticmaali lahayd« ;; » (joogso)

7. Loops

Wareegyo aad u yar ayaa lagu yaqaan luuqad kasta oo barnaamij ah. In Bash waxay yihiin «halka«,«ilaa»Iyo«waayo,«. Horaa loogu qoray baloog ku saabsan kuwan:

Waxaa jira laba nooc oo wareegsan «waayo,«, Kuwa nooca ah«$ loogu talagalay VAR gudaha LOQUESEA»Maxay yihiin nooca C«$ loogu talagalay ((I = 0; I <= 10; I ++))«. Nooca labaad ee siddooyin «waayo,»Aad ayey waxtar u leeyihiin, waxay leedahay 3 qaybood bilowga wareegga:

  • Baaqa iyo bilaabida doorsoomayaasha (Xaaladdan oo kale isbeddel caawiyaha "I = 0").
  • Xaaladda fulinta (illaa aan ka yaraado ama la mid noqdo 10).
  • Kordhinta isbeddelka kaaliyaha

Fikradayda waa wareegga ugu awoodda badan dhammaan. Tusaale, kaas oo daabacaya dhammaan lambarrada 0 illaa 10, oo loo dhan yahay:

#! / bin / bash loogu talagalay ((I = 0; I <= 10; I ++)); samee printf "$ I \ n" waa la qabtay

8. Hawlaha

Waxaa jira waxyaabo uusan Bash noo oggoleyn inaan sameyno, sax? Jaleecada hore, howlaha bash waxay kaa celinayaan inaad sameyso 3 shay: ku dhawaaqida doorsoomayaasha maxaliga ah ee howlaha, u gudbida cabirrada howlaha, iyo soo celinta xuduudaha. Wax walba waxay leeyihiin xal.

Waxba ha sameynin:

#! / bin / bash VAR = 1 printc "$ VAR \ n" function hello () {VAR = 2 printf "$ VAR \ n"} hello printf "$ VAR \ n"

Tani waxay daabacaysaa shaashadda 1, 2 iyo 2.

Si aad ugu dhawaaqdo doorsoomayaasha deegaanka, kudar «maxaliga ah»Markaad ku dhawaaqayso:

#! / bin / bash VAR = 1 printf "$ VAR1 \ n" function foo () {local VAR1 = 2 printf "$ VAR1 \ n"} printf "$ VAR1 \ n" foo printf "$ VAR1 \ n"

Tani waxay ku daabacaysaa shaashadda 1, 1, 2, 1.

Sideed ugu gudbisaa xuduudaha shaqada?

#! / bin / bash # - * - KOOXAHA: UTF-8 - * - function hello () {printf "Hello $ 1 \ n"}

printf "Waa maxay magacaagu? \ n"
akhri VAR1
hello $ VAR1

Sidee cabirrada loo soo celiyaa?

#! / bin / bash # - * - BAARITAANKA: UTF-8 - * - function hello () {printf "Hello holita"} printf "Magacaa?" printf "$ VAR1 $ VAR1 \ n"

Sidaad u aragto, tani waxay leedahay laba cilladood, waxaad kaliya soo celin kartaa halbeeg, kaas oo noqon kara vector 😀, haddii aad rabto inaad soo celiso halbeegga, kama sii daabici kartid shaashadda hawshaas.

Waxaad ka heli kartaa waxyaabo badan oo ku saabsan shaqooyinka [url=https://blog.desdelinux.net/programando-en-bash-parte-3/] maqaalkan ka Usemoslinux[/url].

9. Gawaarida

Mid ka mid ah waxyaabihii ugu dambeeyay ee aad u baahan tahay inaad ka ogaato Bash si aad u abuurto qoraallo murugsan ayaa ah «qashin«. Waxaa loo isticmaalaa in lagu gudbiyo xulashooyinka qoraalka iyadoon loo eegin amarka. Khasaaraha kaliya ee jira ayaa ah inuu kaliya saameynayo xulashooyinka gaagaaban:

#! / bin / bash # - * - KOOBIDDA: UTF-8 - * - VARC = 0 caawimaad shaqo () {printf "Farriinta caawinta \ n" bixitaanka} haddii [[-z $ 1]]; ka dibna ku caawi fi marka xijaabyada: ha: b: c OPT; samee kiis $ OPT gudaha h) caawimaad ;; :) I caawi ;; a) VARA = $ OPTARG ;; b) VARB = $ OPTARG ;; c) VARC = 1 ;; \?) I caawi ;; esac done # Qeybta ugu weyn ee qoraalka # wax ku qabata VARA, VARB iyo VARC

«ka bixid»Mid mid ayuu u aqrinayaa xulashooyinka, sidaas darteed wareeg ayaa loo baahan yahay.

Waxaa jira 2 nooc oo ikhtiyaarro ah oo lagu gudbi karo iyadoo la adeegsanayo «suumanka":

  • Halbeegyada loo yaqaan calamada, kiiskan -c ama -h. Waxaa lagu qeexay warqadda aan rabno inaan adeegsanno. Waxay la mid yihiin doorsoomayaasha Boolean, «run»(Yihiin) ama«been ah"(Halkan ma joogaan).
  • Halbeegyada doodaha la xidhiidha, -wax kasta, -b wax kasta. Waxay ku qeexan yihiin xarafka aan rabno oo leh xiidanka hoose. Dooda waxaa lagu keydiyay OPTARG (magacan lama badali karo).
Labada dhibcood ee bilowga ahi waa inaanay muujin wax khalad ah.

Muxuu qabanayaa qoraalkani?

Muujiyaa farriinta caawimaadda markii aan ikhtiyaar la dhaafin, marka cabbirka "-h" la dhaafo, marka halbeeg aan ansax ahayn la dhaafo (tusaale ahaan "-x", tan waxaa sameeya "\?") Halbeeg sax ah oo aan dood lahayn (":"). Xaaladaha intiisa kale waxay keydineysaa jiritaanka "-c" sida 1 ee VARC, iyo qiyamka lagu kala gudbiyay "-a" iyo "-b" ee VARA iyo VARB.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   faahfaahsan dijo

    GUULEYSTA. Ma dhahayo U_U intaa ka badan

  2.   Miguel dijo

    Waad salaaman tihiin maqaal aad u wanaagsan.
    Haye waxaad dhigeysaa inaad siiso ogolaansho sudo + x halkii aad kaheli lahayd chmod + x

    1.    Henry dijo

      $ sudo chmod + x script.sh
      (Si aad u sax noqoto, hehe)

      Ah, hambalyo iyo mahadsanid!

  3.   dabka dijo

    Qoraal aad u wanaagsan, runtii waan kugu hambalyeynayaa, sii wad, Salaan

  4.   Gustavo dijo

    Iyo haddii aad rabto qoraalka inuu muuqdo markii la fulinayo, tallaabo tallaabo, adigoo u arkaya tusaale ahaan sida doorsoomayaasha, xaaladaha iyo wax walba u dhaqmaan, waxaad isticmaali kartaa:

    qoraalka sh -x

    Salaan

  5.   halkaas dijo

    PIECE ee tababbarka. Aad u fiican oo si fiican loo sharaxay.
    Waad ku mahadsan tahay.

  6.   Gabriel dijo

    Qoraal wanaagsan oo ku saabsan mawduuca 😉

  7.   Mario Guillermo Zavala Silva dijo

    Aad u xiiso badan oo muhiim ah, waad ku mahadsan tahay macluumaadka….
    QABYAALAD !!!

  8.   Nofrombrooklyn dijo

    Waad ku mahadsan tihiin dhamaantiin hambalyadaada, sida amarka Miguel, iima oggola inaan wax ka beddelo gelitaanka mar la daabaco. Waxay noqon doontaa in la sameeyo elav Waxaan qiyaasayaa.

  9.   Adrian dijo

    Aad ufiican!

    Marka hore waxaan rabay inaan kuugu hanbalyeeyo qoraalka, waxaan u arkay inay fududahay in la fahmo runtiina waxay caawineysaa in la raaco tilmaamaha si wanaagsan loogu barto bash, gaar ahaan dadka bilaabaya barnaamijka.

    Si kastaba ha noqotee waxaan helay dhowr faahfaahin oo aan u maleynayo in la saxo.

    Marka hore: qaybta «2. Qaab dhismeedka qoraalka »shaqadu ma xirna, taas oo dhibaato u horseedi doonta marka lagu fulinayo qoraalka.
    Xalku wuxuu ahaan lahaa in lagu daro xarig xirid isla markii amarka "bixitaanka" ka dib.

    Ta labaad: qaybta «4. AKHRISO TILMAANTA UU ISTICMAALO ”waxaad caddeyneysaa in xuduudaha adeegsadaha uu geli karo uu u dhexeeyo $ 0 ilaa xad la’aan, hase yeeshe,“ bash ”ayaa kaliya ka turjumi doonta $ 0 ilaa $ 9, maxaa yeelay $ 10 waxay la mid noqonaysaa $ 1 + 0.
    Si loo xaliyo dhibaatadan, waxaad isticmaali kartaa amarka "wareejinta" si aad ugu qabato doorsoomayaasha soo socda. Ama cadee doorsoomaha kuxiran xargaha "$ {10}", si bashku u wada qaato qiyamka, oo uusan u dhigmin $ 1 + 0.

    Adigoon sii dheerayn, salaan!

    1.    Nofrombrooklyn dijo

      Waad ku mahadsantahay faalladaada. Waxay gebi ahaanba ku fashilantay inay sharaxdo isticmaalka saxda ah ee bixitaanka, labadaba qoraal ahaan iyo shaqooyin ahaanba. Marka laga hadlayo $ {10} Weligay dardaaran intaa le'eg, sidaa darteed kuma haleynin dhibaatadaas, way fiicantahay in la ogaado in taa xal loo hayo (horay ayaan uga gudbay waxa cusub ee maanta la bartay 😀).

  10.   chanio dijo

    Aad baad ugu mahadsantahay maqaalka! Waxyaalaha qaarkood ee aad sheegto wali ma aysan cadeyn. Tusaale ahaan, gogosha.
    Qeybaha bixitaanka shaashadda, ma aadan sheegin bisadda aad goor dambe sheegto ...
    bisad <
    ******************************************************************************
    * Foomkani waa mid aad u muujinaya
    ******************************************************************************
    EOF

    Tusaalahaaga:
    bisad << EOF >> test.sh
    Laba waxyaalood waa in la sheegaa ... >> waa 'append' taas oo ah, haddii aad ku celiso isla amarkii, waxaad yeelan doontaa qoraalka oo dhan oo nuqul ah ... Waa inaad mid uun isticmaashaa ...
    bisad << EOF> script.sh
    Haa, waa in sidoo kale loogu yeeraa script.sh
    Kadibna gudaha
    haddii [-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "- caawimaad"]]; markaa
    I caawi
    fi

    Waxaan qabaa inay tahay in la qoro ...
    haddii [[-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "- caawimaad"]]; markaa
    ...

    Waxaa jira waxyaabo badan oo laga ogaan karo BASH.
    Cinwaan ma uga dhigi kartaa "AASKA"? 🙂
    Tusaale ahaan, 'tijaabiyeyaasha' cabbirka 'sida -z si loo arko haddii ay madhan yihiin, ama -f si loo ogaado haddii ay u jiraan fayl ahaan.

    Mar labaad waad ku mahadsan tahay dadaalkaaga.
    Alberto

  11.   cumar_eriol dijo

    Cashar barashada qoraalka bash aad u wanaagsan!

  12.   ocz dijo

    -- QAYBINTA: UTF-8 --

    Waa markii iigu horreysay ee aan arko laynkaas si aan u dejiyo astaamo lagu qoro qoraal bash ah. Waxay ila tahay aniga sida Python oo kale marka loo eego Bash. Runtii ma loo baahan yahay? Waxaan raadiyay tixraac Google laakiin waxba ma heli karo, miyaad haysaa xiriiriye gacanta ku jira oo ka hadlaya arrintan? Gaar ahaan ku habboonaanta khadkaas.

    Fikradayda, in lagu qoro qoraallo ku yaal Bash adoo adeegsanaya UTF-8, waxaad u baahan tahay oo keliya inaad keydiso feylka qoraalka sida (oo aan lahayn BOM) oo aad leedahay isbeddello deegaan oo cayiman, (LANG iyo LC_ *), oo si sax ah loo dhigay.
    Kadib, sida iska cad, waxaa lagama maarmaan ah in amarrada la fuliyay loo diyaariyo codeyn aan ahayn ASCII. Tusaale ahaan, haddii aan dooneyno inaan u beddelo far weyn, tani uma muuqato inay shaqeynayso:
    «Echo áéíóú | tr az AZ »
    o:
    «Echo áéíóú | tr [: hoose:] [: sare:] »
    oo waxaa fiican in la isticmaalo:
    «Echo áéíóú | awk '{daabac taabasho ($ 0)}' ».

    1.    Nofrombrooklyn dijo

      Ku saabsan «Deji»Hore ayaa loogu xusay balooggan:

      Bash: sida loo sameeyo qoraalka la fulin karo
      Ku dhaji qoraalka korantada

    2.    borriquito sidaada oo kale dijo

      Qof baa i saxo, laakiin khadadka qormadan (# -- QAYBINTA: UTF-8 --) Waxba kuma lahan bash ama qolof: waa qadka faallooyinka (wuxuu ku bilaabmayaa #) wuxuuna u adeegaa inuu u sheego EDITOR in aan u isticmaalno qoritaanka qoraalka (vim, emacs ...) encoding of the file.

      Xaqiiqdii, bash ma arko xariiq noocaas ah, maxaa yeelay waa xariiq faallo.

  13.   JoRgE-1987 dijo

    Cashar bixin heer sare ah, maadaama Sysadmin ogtahay qoraalka ku qoran Bash ay muhiim tahay, waxtar ayey u leedahay wax walba.

    Aad iyo aad u wanaagsan!

    Waad ku mahadsan tahay!

  14.   Edward Cuomo dijo

    Haddii ay waxtar u leedahay qof walba, halkan waxaa ku yaal dhowr adeegsi iyo tusaalooyin si aad u abuurto qoraallo kuu gaar ah: https://github.com/reduardo7/hsabx

  15.   Lito madow dijo

    Aad u fiican. Waxyaabo cusub oo lagu daro qoraalladayda. Waxyaabaha koodhadhka ah iyo daabacaadda shay ma lahayn.
    Mahadsanid!!!

  16.   naxadonixxx dijo

    Sooo maqaal wanaagsan! Kan waxaan u hayaa kuwa ugu cadcad, way fiicnaan laheyd in la saxo waxa qaldan oo xitaa lagu sii balaariyo waxyaabo badan. Sacab sacab ah oo loogu talagalay dhammaan macluumaadkaan !!!!