Uyisebenzisa kanjani imisebenzi eBhash usebenzisa le Unix esekwe kwiqokobhe, ulwimi oluhambelana nePOSIX. Njengolwimi, umsebenzi wayo uquka ukutolikwa kwemiyalelo yeLinux, esivumela ukuba senze iinkqubo zethu eziphindaphindayo kwaye senze imiyalelo evela kwinkqubo yemiyalelo yokusebenza. Kweli nqaku siza kuvavanya uyisebenzisa njani imisebenzi kwi-bash. Ndicebisa ukufunda inqaku njani Yenza ezakho iincwadi zeempendulo usebenzisa i-bash.
Kwisicatshulwa esiphakamisayo, sisebenzisa ulwimi lwaseBash ukukhangela ifayile, sisazi igama layo. Ngale nto siza kusebenzisa fumana umyalelo kodwa ngoncedo lwemisebenzi echazwe ngaphambili kwiskripthi esichaziweyo. Kuya kufuneka uthathele ingqalelo ubuqili okanye umda weBhash ongekho kuzo zonke iilwimi: ukubiza umsebenzi kufuneka uchazwe ngaphambili.
Chaza imisebenzi
Zimbini iindlela zokuchaza imisebenzi: kunye okanye ngaphandle kwesibhengezo somsebenzi:
function nombre_funcion () { # codigo }
okanye le enye, yona ndiyisebenzisa njengoko uza kubona kamva.
nombre_funcion () { # codigo }
Kwakhona I-Bash ikwabonelela ngendlela yokupasa iiparameter kunye nokubuyisa iziphumo. oko siza kubona kumanqaku alandelayo.
#!/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
Uhlalutyo lweskripthi
Iinkcazo
Ye bash yonke inkqubo egqityiweyo ngempumelelo kufuneka ibe nekhowudi "0" njengophawu. Imigca ye-12 neye-13 ichaza iikhowudi eziphathwayo EXIT_OK yimpumelelo y I-EXIT_BAD yokuphuma kusilelo.
Kwimigca ye-15 neye-16, i-PATTERN kunye ne-DIRECTORY eziguquguqukayo zabelwe eyokuqala ($ 1) kunye neyesibini ($ 2) iiparameter ezibonakala kwilayini yomyalelo emva kwegama leskripthi, njengoko siza kubona kamva xa siyenza.
Kulo umgca woku-18 senza umsebenzi wethu wokuqala. Umsebenzi obizwa «umbhali» ubonakalisa Ukubhalwa kweskripthi xa siyibiza ngengxoxo ka "-a" njengoko ubona kwi if kwimigca 50 ~ 54. Impikiswano "-naye" ukusuka kumgca wama-23 ivumela ukubonisa ukulandelelana kwe «umgca olandelayo» ngokufaka iikhowudi «\ n».
Umnxeba oya kwii-noparams (imigca 28 ~ 37) ujongene nokulawula imicimbi ekufuneka yenzekile xa iskripthi sibizwa ngaphandle kweeparameter. Sibonisa, sifakwe ngokufanelekileyo phakathi kweekhowudi ezintsha, umyalezo obonisa ukuba iskripthi kufuneka senziwe ngeeparameter ezimbini, emva koko ukhetho (umgca 31) luboniswe ukuba lusetyenziswe ukufunda Kuyakukhuthaza ukuba ucofe u "S" okanye "s" kwimeko apho ufuna ukubonisa uncedo. Kumgca wama-32 sithi ngokoqobo: 'ukuba impendulo (eza kuthi kuguquguquko $ Phendula) iqulethe naluphi na uphawu olusebenzisa oonobumba abakhulu okanye oonobumba abancinci ', emva koko (umgca 33) ibonisa umgca ongenanto (umgca 34) kwaye wenze umsebenzi woncedo (imigca 23 ~ 26).
Umsebenzi we-nodir (imigca 39 ~ 42) uya kwenziwa xa sifumanisa ukuba umkhombandlela apho kukhangelwa khona awukho.
Ukusebenza
Ngale nto sele sinayo ichaze yonke imisebenzi eyimfuneko ukwenza inkqubo yethu, ethi iqale kumgca wama-44, ukujonga ukuba eyokuqala iparameter efunyanwa siskripthi ngu "-h", ukuba yinyani, yenza umsebenzi woncedo kwaye Ukuphuma kubonisa ukupheliswa kwesiqhelo.
Ukuba i-PATTERN (iparameter yokuqala njengoko ichaziwe kumgca we-15) ngu "-a", umbhali uboniswa ngokulandela indlela efanayo echazwe kumhlathi ongaphambili wendlela "-h".
Kumgca 56 kulawulwa ukuba asifumananga ngaphantsi kweeparameter ezimbiniKule meko, umsebenzi we-noparams uyenziwa, emva koko, kumgca 60 sifumanise ukuba isikhombisi esifuna ukwenza kuso ukukhangela sikhona, ukuba ikhona, umgca ongenanto uboniswa, ifayile fumana umyalelo Idilesi yolawulo apho sifuna ukwenza khona uphando olulandelwa ngumzekelo (ukuqala kwegama lefayile esiyifunayo) umgca omtsha ongenanto kunye nokusebenzisa phuma $? Sibeka imveliso yethu kwisiphumo esiveliswe kukufumana. Kwimeko apho imeko ye ubukho besikhombisi bubuxoki (umgca 67) senza umnxeba kwi-nodir function kwaye siyaphuma sibonisa ukupheliswa okungaqhelekanga.
Ukuphunyezwa kunye nokuvavanywa
$ encontrar $ encontrar -a $ encontrar -h $ encontrar index aljflaskjf #directorio no existe $ encontrar index public_html $
En amanqaku alandelayo malunga neBash Siza kubona iindlela ze sebenzisa iiparameter kwimisebenziSiza kubona nendlela yokwenza Chaza idatha ebuyayo ukusuka ngokufanayo.
Ndiyathemba kwaye ndiyathemba ukuba esi sithuba siluncedo kuwe.
Sawubona,
inomdla kakhulu kwaye icacile.
Inqaku nje; i $ ilahlekile kumgca wama-68 phambi kwe-EXIT_BAD eyahlukileyo.
Ndiza kuqhubeka ndifunda ngokuqinisekileyo ngamanqaku akho.