Hvernig á að nota aðgerðir í Bash með því að nota þetta Unix skel byggt, POSIX-samhæft tölvutungumál. Sem tungumál samanstendur hlutverk þess af túlkun á Linux skipunum, sem gerir okkur kleift að gera sjálfvirkar endurtekningarferli okkar og búa einnig til skipanir úr stjórnkerfisskipunum. Í þessari grein munum við fara yfir það hvernig á að nota aðgerðir í bash. Ég mæli með að lesa greinina hvernig búðu til þín eigin handrit með því að nota bash.
Í handritinu sem við leggjum til notum við tungumál Bash til að leita að skrá, vitandi nafn hennar. Fyrir þetta munum við nota finna stjórn en með hjálp aðgerðanna sem áður voru skilgreindar í nefndu handriti. Þú verður að taka tillit til sérkennis eða takmarkana á Bash sem ekki er til staðar á öllum tungumálum: að kalla aðgerð verður að skilgreina áður.
Skilgreindu aðgerðir
Það eru tvær leiðir til að skilgreina aðgerðir: með eða án aðgerðaryfirlýsingar:
function nombre_funcion () { # codigo }
eða þessi önnur, sem er sú sem ég nota eins og þú munt sjá síðar.
nombre_funcion () { # codigo }
Einnig Bash býður einnig upp á aðferð til að standast breytur og skila árangri. sem við munum sjá í greinum í framtíðinni.
#!/usr/bin/env bash # ~/.bin/encontrar # encuentra archivos a partir de la descripción de su nombre en un directorio específico # # Por Pedro Ruiz Hidalgo # version 1.0.0 # Copyright © enero 2017 # # EXIT_OK=0 EXIT_BAD=66 PATRON=$1 DIRECTORIO=$2 autor () { echo -e "\nPedro Ruiz Hidalgo @petrorum. Copyright © 2017\n" } ayuda () { echo -e "\nencontrar [PATRON] [DIRECTORIO]\n" } noparams () { echo -e "\nSon necesarios dos parámetros\nencontrar -h para ayuda\n" read -p "¿Quieres ver la ayuda? (S|s)" -n 1 -r if [[ $REPLY =~ ^[Ss]$ ]]; then echo "" ayuda fi } nodir () { echo -e "\nDirectorio no Existe\n" } if [[ $PATRON == "-h" ]]; then ayuda exit $EXIT_OK fi if [[ $PATRON == "-a" ]]; then autor exit $EXIT_OK fi if [ $# -lt 2 ]; then noparams else if [ -d $DIRECTORIO ]; then echo "" find $DIRECTORIO -name $PATRON* echo "" exit $? else nodir exit EXIT_BAD fi fi
Greining handrita
Skilgreiningar
Fyrir bash hvert ferli sem lokið er verður að hafa kóðann „0“ sem merki. Línur 12 og 13 skilgreina villukóða sem meðhöndlaðir eru EXIT_OK til að ná árangri y EXIT_BAD til að hætta við bilun.
Í línum 15 og 16 eru breytur PATTERN og DIRECTORY úthlutaðar fyrstu breytunum ($ 1) og annarri ($ 2) sem birtast á stjórnlínunni á eftir heiti handritsins, eins og við munum sjá síðar þegar við framkvæmum það.
Í lína 18 við búum til okkar fyrstu aðgerð. Aðgerðin sem kallast «höfundur» sýnir handritshöfundar þegar við köllum það með „-a“ rökunum eins og þú sérð í ef á línum 50 ~ 54. Rökin "-og" frá línu 23 leyfir þér að sýna röðina af «næstu línu» með því að kóða «\ n».
Símtalið til noparams (línur 28 ~ 37) sér um að stjórna þeim atburðum sem verða að eiga sér stað þegar hringt er í handritið án nokkurra breytna. Við sýnum, rétt lokað á milli nýrra línukóða, skilaboð sem gefa til kynna að skriftina verði að framkvæma með tveimur breytum, þá er sýndur valkostur (lína 31) til að nota lesa Það biður þig um að ýta á „S“ eða „s“ ef þú vilt sýna hjálp. Í línu 32 segjum við bókstaflega: „ef svarið (sem kemur okkur í breytunni $ SVARA) inniheldur einhverja af stöfunum sem eru með hástöfum eða lágstöfum ', þá sýnir (lína 33) tóma línu (lína 34) og framkvæmir hjálparaðgerðina (línur 23 ~ 26).
Aðgerðin nodir (línur 39 ~ 42) verður framkvæmd þegar við uppgötum að skráasafnið þar sem leitað er að er ekki til.
Virkni
Með þessu höfum við þegar skilgreint allar nauðsynlegar aðgerðir til að framkvæma forritið okkar, sem raunverulega byrjar á línu 44, athuga hvort fyrsta breyturnar sem handritið fær er „-h“, ef það er satt, framkvæma hjálparaðgerðina og útgönguleiðir sem gefa til kynna eðlilega uppsögn.
Ef MYNSTUR (fyrsta færibreytan eins og lýst er í línu 15) er „-a“, birtist höfundur eftir sama kerfi og útskýrt var í fyrri málsgrein fyrir „-h“ valkostinn.
Á línunni 56 er stjórnað að við höfum ekki fengið minna en tvær breyturÍ þessu tilfelli er noparams aðgerðin framkvæmd, þá, ef í línu 60 sem við komumst að ef skráin sem við viljum leita að er til, ef hún er til, er auð lína sýnd, finna stjórn með heimilisfangi skráasafnsins sem við viljum framkvæma leitina á eftir mynstri (upphaf nafns skjalsins sem við erum að leita að) nýja tóma línu og nota hætta $? við felum framleiðslu handritsins niðurstöðuna sem framleidd er með fundi. Ef ástandið á tilvist skráasafnsins er röng (lína 67) við hringjum í nodir aðgerðina og við förum út sem gefur til kynna óeðlilega uppsögn.
Framkvæmd og prófanir
$ encontrar $ encontrar -a $ encontrar -h $ encontrar index aljflaskjf #directorio no existe $ encontrar index public_html $
En eftir greinum um Bash við munum sjá fyrirkomulagið fyrir nota breytur í föllumVið munum líka sjá hvernig á að gera mótað skilagögn frá því sama.
Ég vona og vona að þessi færsla hafi nýst þér vel.
Athugasemd, láttu þitt eftir
Halló,
mjög áhugavert og mjög skýrt.
Bara athugasemd; a $ vantar á línu 68 fyrir framan breytuna EXIT_BAD.
Ég mun halda áfram að læra fyrir vissu með greinum þínum.