Uyisebenzisa kanjani imisebenzi kwiBhash

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.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   UYosefu sitsho

    Sawubona,
    inomdla kakhulu kwaye icacile.
    Inqaku nje; i $ ilahlekile kumgca wama-68 phambi kwe-EXIT_BAD eyahlukileyo.
    Ndiza kuqhubeka ndifunda ngokuqinisekileyo ngamanqaku akho.