Ngemuva kokwanelisa izidingo ukuze ukwazi ukusebenzisa imibhalo ye-bash, futhi baqonde uyichaza kanjani imisebenzi, funda ukuthi kanjani buyisela amanani emisebenzini ye-bash. Ngalokhu sizokwakha uhlelo oluncane lwe-utbut powerful― eBash ukuthi abale izinhlamvu ze-DNI. Nginezindaba ezinhle: uBash naye angakwazi ukufakwa ku-Windows 10. Ngalokho okungangezwa wonke amandla weLinux ezinhlelweni ezisebenzayo, ake sithi ... kwehlukile.
Okokuqala, kufanele qonda ukuthi i- izintambo, okuthi, njengakuzo zonke izilimi, ibe nethuba lokuthi Buyisela izingxenye zentambo kusukela ekubonisweni kweketanga, isikhundla nobude besigaba. Ake sibheke isibonelo salokhu kuziphatha. Sakha umbhalo wethu nge
$ touch prueba_substring $
Ngemuva kwalokho sifaka ikhodi elandelayo ngesihleli sakho osithandayo. Kumodi yokugcina umhleli wami engiwukhethayo mcedit. Kepha muva nje ngiyabona ukuthi i-nano ithola amandla.
#!/usr/bin/env bash # Demo comportamiento de substrings en Bash # Pedro Ruiz Hidalgo # version 1.0.0 # Febrero 2017 ret="\n" CADENA="siempre uso Linux con Ubuntu y Ubunlog, claro!" # "0123456789012345678901234567890123456789012345" # " 1 2 3 4 " # (usa la regla para medir los caracteres) echo -e $ret ${CADENA:12} echo -e $ret ${CADENA:12:5} echo -e $ret "Aprendo en ${CADENA:31:7}" exit 0
Ukungeza izimvume nokwenza kanjena:
$ chmod +x prueba_substring $ ./prueba_substring $
Kufanele, uma konke kuhambe kahle, kubuyise imiphumela elandelayo:
Linux Con Ubuntu y Ubunlog, claro! Linux Aprendo en Ubunlog
Umsebenzi we-Substring
Njengoba ubona ngenhla Ngigqamise imigqa 13 kuye ku-15 kusuka kuskripthi nesinyathelo kuye chaza ikhodi yakho. Echo ne ipharamitha "-e" lets khombisa umugqa olandelayo, sichaze lo mlingiswa kufayela le- umugqa 7 futhi unikezwe okuguquguqukayo «ret».
Ulayini 13: Ngikhombisa i-substring (intambo encane) we-CHAIN oguqukayo, ochazwe kulayini 8, kusuka esikhundleni 12. Ukuqala njalo ukubala kusuka kusikhundla 0.
Umugqa 14: Kusuka isikhundla 12 sokuguquguquka kwe-CHAIN, ngikhombisa ingxenye engu-5. Njengoba uzoqinisekisa ukuthi lokhu kufana ne- substring "Linux".
Ulayini 15: Ngibhala a intambo entsha efakwe kuzilinganiso Ngiqala njengo- «Ngifunda ku-«, ukuqhubeka nentambo yokuguquguquka kwe-CHAIN kusuka endaweni yama-31, kuthatha ingxenye engu-7: lokhu kufana ne- «Ubunlog».
Imisebenzi ye-Postback
Indlela yokubuyisa neBash ikhiqizwa umyalo we- "return", yize, lapho kufanele siyifanise nokuguquguquka kweBash, isebenzisa inqubo "engajwayelekile", okufanele uyijwayele. Ake sibheke lesi sibonelo esilandelayo:
#!/usr/bin/env bash function suma(){ local a=$1 local b=$2 return $(( $a + $b )) } suma 12 23 retorno=$? echo $retorno
Imisebenzi kufanele ihlale ichazwa ngaphambi kokuyisebenzisa eBash, ngakho-ke, ngemuva kwe- sheba simemezela isamba somsebenzi, kulayini 4 sichaza ngokusebenzisa «kwasendaweni» ukwabiwa kokuqala kwamapharamitha ($ 1) kokuguquguqukayo "a". Inqubo efanayo kulayini 5, lapho sabela ipharamitha yesibili a ($ 2) kokuguquguqukayo «b». Kumugqa wesishiyagalolunye sibiza umsebenzi ophelele ngamapharamitha amabili azoguqulwa yindlela echazwe ku- okuguquguqukayo "a" no- "b" futhi ngo- "buyisela" sikubuyisela kungeziwe, njengoba kungabonakala kalula kumiyalo yokusebenza.
Sabela okuguqukayo "ukubuya" kufayela le- umugqa we-10 umphumela wokusetshenziswa kwesamba somsebenzi.
Ngemuva kokufunda nokuqonda indlela ukubuyiselwa kwamanani nokunikezwa kokuguquguqukayo kuyenziwa Ake siyobona uhlelo lwethu lwe- ukubalwa kwezinhlamvu ze-DNI ezineBash.
Iskripthi sokubala izinhlamvu ze-DNI ngeBash
#!/usr/bin/env bash nl="\n" LETRAS="TRWAGMYFPDXBNJZSQVHLCKEO" NORMAL=0 ERROR=66 if [ $# -lt 1 ]; then echo -e "$nl Cálculo DNI, introduce número$nl" read -r ndni [ -z "${ndni//[0-9]}" ] && [ -n "$ndni" ] || echo "Sólo números" && exit $ERROR else ndni=$1 fi modulo () { return $(( $ndni % 23 )) } modulo ndni mod=$? echo $ndni-${LETRAS:$mod:1} exit $NORMAL
La incwadi ye-DNI yethu iyahambelana inombolo module 23. Lokhu, sihlukanisa inombolo ngama-23 y esikhundleni sokubheka i-quotient, sigcina okusele ukwahlukana. Amanye amagama, njenge izinombolo ezihlukaniswa ngama-23 zizonikeza uziro, incwadi ethi ihambelana nayo yi- «T», kusukela lokhu isikhundla 0, njengoba sibonile kuskripthi esingenhla, wonke ama-substrings aqala ukubala kusuka ku-zero. Lokho wukuthi, ngemodyuli sizohlala sithola izinombolo phakathi kuka-0 (uhlamvu "T") kanye no-22 (incwadi "O"). EBash, njengezinye izilimi imodyuli itholakala ngomsebenzisi wamaphesenti «%».
Ku umugqa wesi-5 sichaza izinhlamvu ngokulandelana kwakho. Kusobala, i-oda alinakuguqulwa ukuthola imiphumela ethembekile. Ku-if yomugqa 9 siyabuza uma ngenkathi kubizwa iskripthi bekukhona inombolo njengepharamitha. Uma ingekho ipharamitha, siyayicela kukhibhodi enemiyalo emigqeni engu-11 kuye ku-13.
Kumugqa wama-23 sibhekisa kumsebenzi we-modulo ngepharamitha ye okuguqukayo «ndni», noma ngabe kuqoqwe njengepharamitha ku-bash, noma ngekhibhodi njengokufaka. Kumugqa wama-24 ukubuya komsebenzi kunikezwa okuguquguqukayo «mod». Emgqeni ongu-25 msikhombisa inombolo, udwi kanye nencwadi ehambelana nendawo ngokuya ngesibalo semodyuli kanye nongqimba.
Ukuhlola umbhalo wethu we-DNI
$ ./dni 12345678 12345678-Z
Hhawu,
$ ./dni Cálculo DNI, Introduce número
Yonke imibhalo yethu kufanele ifake phakathi "-a" ipharamitha yombhali nenye i- "-h" yosizo ne-syntax. Njengoba sibonile kuma-athikili adlule noma ngikushiya kuwe ukuze ungenzi ikhodi ibe nzima kakhulu.
Ngiyethemba futhi ngiyethemba ukuthi lo mbhalo ubewuthanda.
Sawubona, kukhona ongangisiza, ngidinga ukufaka i-lubuntu kudeskithophu yami endala kodwa ngeke ingivumele ngifake nge-USB futhi idrayivu ye-dvd ilimele, ngifuna ukufaka nje http://www.plop.at ku-Ubuntu 16.04 LTS kepha angazi ukuthi ngikwenze kanjani. Ngiyabonga
Omar,
Njengoba ushilo, lesi simo asithembisi kakhulu: i-usb ayivunyelwe futhi idrayivu ye-dvd ilimele. Kepha futhi uphawula ukuthi "ikhompyutha indala", lokho kusho ukuthi usunenye entsha. Zama ukufaka ukufakwa kwi-hard drive kusuka kukhompyutha yakho esebenzayo bese uzama ukukufaka kusuka kuleyo drayivu.
Phendula ngokucaphuna
Unayo ikhompyutha nebhokisi elikhishwayo? Khweza i-hard drive yekhompyutha endala ebhokisini le-usb bese ukhipha idiski lokufaka.
I-Linux ne-Unix azinaki i-hardware ezingeni le-boot, ongabeka ngayo idiski futhi nge-linux efakiwe.
Ngiyabonga kakhulu ngiyakutshela ukuthi engikwenzile bekuwukusuka ku-Ubuntu 16.04 ngiye kuLubuntu 16.04 ngaphakathi kohlelo olufanayo lwe-hehe ngakho-ke ikhompyutha yami yakudala ibisebenza kahle imikhonzo yehehe evela eColombia.