Me pehea te whakamahi i nga mahi i Bash

Me pehea te whakamahi i nga mahi i roto i te Bash ma te whakamahi i tenei Unix anga-reo, te reo rorohiko a-POSIX. Hei reo, ko tana mahi ko te whakamaori i nga whakahau Linux, kia ahei ai taatau ki te mahi aunoa i a tatou mahi tukurua me te hanga whakahau mai i nga whakahau a te punaha whakahaere. I tenei tuhinga ka arotakehia e maatau me pehea te whakamahi i nga mahi i te bash. Ka tūtohu ahau ki te panui i te tuhinga pehea hanga i o tuhinga ake ma te whakamahi i te bash.

I roto i te tuhinga e whakaarohia ana e maatau, ka whakamahia te reo Bash hei rapu i tetahi konae, e mohio ana ki tona ingoa. Mo tenei ka whakamahia e matou te kitea whakahau engari ma te awhina o nga mahi i tautuhia i mua ki taua tuhinga. Me whai whakaaro koe ki tetahi rereketanga, ki te aukati ranei i te Bash kaore i roto i nga reo katoa. ki te karanga i tetahi mahi me tautuhi i mua.

Whakatautuhia nga mahi

E rua nga huarahi hei tautuhi i nga mahi: me te kore o te whakapuakanga mahi:

function nombre_funcion () 
{
    # codigo
}

tetahi atu ranei, koinei taku e whakamahi ana ka kite koe i muri.

nombre_funcion ()
{
    # codigo
}

Ano hoki Ka whakarato hoki a Bash i tetahi tikanga hei paahitanga i nga waahanga ka hoki mai nga hua. e kite tatou i roto i nga tuhinga a muri ake nei.

#!/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


Te wetewete i te tuhinga

Nga wehewehe

Mo te bash ia tukanga kua oti pai te mahi, me whai te tohu "0" hei tohu. Ko nga raina 12 me te 13 e tautuhi ana i nga waehere hapa i whakahaerehia EXIT_OK mo te angitu y EXIT_BAD mo te putanga i te rahunga.

I nga raina 15 me te 16, ko nga taurangi PATORT me DIRECTORY kua tohaina i nga waahanga tuatahi ($ 1) me te tuarua ($ 2) e kitea ana i te raina whakahau i muri o te ingoa o te tuhinga, ka kite hoki i muri ka mahia ana e tatou.

I roto i te raina 18 hanga tatou i ta tatou mahi tuatahi. Ko te mahi i huaina «kaituhi» whakaatu i te kaituhi hōtuhi ina karangahia ana e taatau me te tohenga "-a" kia kite koe i te mena kei runga i nga raina 50 ~ 54. Te tautohe "-a" mai i te raina 23 ka āhei ki te whakaatu i te raupapa «raina whai muri» ma te whakawaehere «\ n».

Ko te karanga ki nga noparams (raina 28 ~ 37) kei a ia te rangatira mo te whakahaere i nga huihuinga me puta i te wa e kiia ana te tuhinga kaore he taapiri. Ka whakaatuhia e maatau he rarangi i waenga i nga waehere raina hou, he korero e tohu ana me mahi nga tuhinga e rua nga taapiri, katahi ka whakaatuhia he whiringa (raina 31) hei whakamahi. te pānui i Ka akiaki koe kia peehi i te "S" ki te "s" mena kei te hiahia awhina koe. I te rarangi 32 ka kii taatau: 'mena ko te whakautu (ka tae mai ki a maatau i te taurangi $ TUPONO) kei roto tetahi o nga kiripuaki kei runga ake, iti ake ranei ', katahi (raina 33) e whakaatu ana i te raina kore (raina 34) me te whakamahi i nga mahi awhina (raina 23 ~ 26).

Ko te mahi nodir (raina 39 ~ 42) ka mahia ina kitea ana e maatau kaore te whaiaronga e whakamatauhia ana te rapu.

Te Mahi

Ki tenei kua ke i a tatou kua tautuhia nga mahi katoa e tika ana ki te whakahaere i ta maatau kaupapa, ka tiimata i te raina 44, ka tirohia mena ko nga tohu tuatahi ka tae ki te tuhinga "-h", mena he pono, mahia te awhina awhina putanga e tohu ana i te whakamutua noa.

Mena ko te PATORT (ko te tohu tuatahi e whakaahuatia ana i te raina 15) he "-a", ka whakaatuhia te kaituhi e whai ake nei i nga tikanga ano i whakamaramahia i nga whiti o mua mo te whiringa "-h"

I runga i te raina 56 e whakahaerehia ana kaore i iti iho i te rua nga waahanga i tae mai ki a maatauI tenei wa, ka whakatutukihia te mahi noparams, na, ki te raarangi 60 ka kitea e maatau mena kei te whaiaronga te tari e hiahia ana taatau ki te rapu, mena kei kona, ka whakaatuhia he raarangi kore, te kitea whakahau me te wahitau o te raarangi ingoa e hiahia ana matou ki te rapu whai muri i te tauira (tiimata o te ingoa o te konae e rapuhia ana e matou) he raina paanui hou me te whakamahi putanga $? ka whakawhiwhia e matou te whakaputa o ta maatau tuhinga ki te hua i hangaia e te kimi. Tuhinga o mua he teka te whaiaronga (raina 67) ka karanga maatau ki te mahi nodir me ka puta atu matou e tohu ana i te whakamutu rereke.

Whakamahinga me te whakamatautau

$ encontrar
$ encontrar -a
$ encontrar -h
$ encontrar index aljflaskjf #directorio no existe
$ encontrar index public_html
$

En Tuhinga ka whai mai ka kite taatau i nga tikanga mo whakamahi tawhā i roto i te mahiKa kite hoki maatau me pehea whakahua i nga raraunga whakahoki mai i te taua.

Ko te tumanako me te tumanako kua whai hua tenei pou mo koutou.


Ko nga korero o te tuhinga e piri ana ki o maatau kaupapa o matatika whakatika. Ki te ripoata i tetahi paatene paato Here.

He korero, waiho i a koe

Waiho to korero

Ka kore e whakaputaina tō wāhitau īmēra. Kua tohua ngā āpure e hiahiatia ana ki *

*

*

  1. He kawenga mo nga raraunga: Miguel Ángel Gatón
  2. Te kaupapa o te raraunga: Whakahaerehia te SPAM, te whakahaere korero.
  3. Ture: To whakaae
  4. Whakawhitinga korero: Kaore nga korero e tukuna ki nga taha tuatoru engari ma te ture herenga.
  5. Rokiroki raraunga: Paetukutuku e whakahaerehia ana e Occentus Networks (EU)
  6. Tika: I nga wa katoa ka taea e koe te whakaiti, te whakaora me te muku i o korero.

  1.   josea ka mea

    Aroha,
    tino ngā, me te tino mārama.
    He tuhipoka noa; he $ kei te ngaro i te raina 68 i mua o te taurangi EXIT_BAD.
    Ka ako tonu au me o tuhinga.