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.
Taurangi
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.
He korero, waiho i a koe
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.