Beša teorija

/ bin / bash

0. Indekss

  1. Lietas, kas notiek lielākajai daļai cilvēku
  2. Skripta struktūra
  3. Drukāt uz ekrāna
  4. Lasīt lietotāju INPUT
  5. Aprēķini bash
  6. Noteikumi
  7. Cilpas
  8. funciones
  9. getops

1. Lietas, kas notiek lielākajai daļai cilvēku

/ bin / bash vai / bin / sh

Viena no pirmajām lietām, ko mašīna dara, izpildot mūsu skriptu, meklē, ar kuru čaulu to vajadzētu darīt. Lielākajā daļā pašreizējo Linux sistēmu / Bin / sh ir saite uz / bin / bash, bet tas ne vienmēr notiek, piemēram, izplatījumos, kas izmanto busybox atnest Sh un parasti viņi arī atnes Stipri iesist, bet, ja izmantojat / Bin / sh, tas nedarbosies ar Bashu. Tāpēc iesaku vienmēr lietot / bin / bash.

Unicode pret ASCII

Vai esat kādreiz aizdomājušies, kāpēc savos skriptos nevarat izmantot “¿” vai “ñ”? Vai arī izmantot akcentus? Interaktīvajos skriptos tas var būt diezgan kaitinošs. Tas ir tāpēc, ka Bash noklusējuma kodējums ir ASCII vai tas pats, angļu rakstzīmju kopa. Lai to mainītu, mums tikai jāsaka mūsu skriptam, ka mēs vēlamies izmantot Unicode. Lai to izdarītu, jums jāpievieno rinda tūlīt pēc komandu tulka:

# - * - IEKODĒŠANA: UTF-8 - * -

Esiet piesardzīgs, ir svarīgi, lai šī rinda būtu skripta sākumā.

Padariet skriptu izpildāmu

Smieklīgi, cik daudz cilvēku vada skriptus ar «$ bashscript.sh" tā vietā "$ ./script.sh"Galu galā tam mēs esam definējuši apvalku.

Lai pievienotu izpildes atļaujas, jums ir jāizpilda:

sudo + x script.sh
Ja mūsu skripts ir izpildāms, mēs varam to pievienot mūsu PATH un padarīt to izpildāmu no jebkuras vietas / mapes mūsu datorā. Tam mums jāpievieno vai nu mūsu lietotāja .bashrc, vai arī / etc / bashrc rinda
BIN = "mape, kurā mums ir skripti" PATH = "$ BIN $ PATH"
Bash noteikums ir rakstīt mainīgo nosaukumus ar lielajiem burtiem. Daudzi cilvēki neievēro šo noteikumu, bet gariem skriptiem tas tiek novērtēts, jo tie padara tos daudz lasāmākus

2. Skripta struktūra

  1. Galvgalis
  2. Globālo mainīgo definīcija
  3. Palīdzēt
  4. funciones
  5. Galvenais korpuss

Galvenē ir vieta, kur mēs norādām, kuru čaumalu mēs vēlamies izmantot, un kodējumu. Funkciju priekšrocība ir atkārtota koda atkārtota izmantošana, to rakstot tikai vienu reizi, un lai skriptu būtu vieglāk saprast, kodam, kas pārsniedz 100 rindas, tas ir ļoti noderīgi.

Lai izmantotu funkcijas, tās ir jādefinē pirms mūsu skripta pamatteksta. Un, ja mēs vēlamies izmantot mainīgos visu skriptu globālajā līmenī gan galvenajā pamattekstā, gan funkcijās, mums tie jādefinē visa sākumā, tieši aiz galvenes.

Visbeidzot, ir laba prakse uzrakstīt palīga funkciju, kad mūsu skripts darbojas slikti vai ar sliktiem parametriem. Acīmredzot šajos gadījumos mēs vēlamies nekavējoties iziet no skripta, nelasot funkcijas. Tam mēs varam izmantot:

function help () {echo "" "Mūsu labi formatēts palīdzības teksts." "" iziet, ja [[-z $ 1 || $ 1 == "-h" || $ 1 == "--palīdzība"]]; tad palidziet fi

Ja palīdzības funkcijai pievienosim "iziet", mēs iziesim no skripta katru reizi, kad palaidīsim palīdzību, piemēram, pēc kļūdu ziņojumiem utt. Mēs saglabājam dažas koda rindiņas.

Nosacījums norāda palīdzības parādīšanu ekrānā un izeju, ja skripts tiek palaists bez parametriem vai ja ir norādīts -h / –help. Ja paskatās uz to, tā ir standarta uzvedība lielākajai daļai Linux programmu.

3 pēdiņu ar atbalss izmantošana ļauj izmantot rindiņu pārtraukumus, neatstājot ziņojumu, lai parādītu atbalss. Daudzrindu ziņojumiem ir daudz ērtāk izmantot atbalss tikai vienu reizi.

3. Drukājiet uz ekrāna

Ir divas galvenās komandas drukāšanai, lai ekrānā parādītu bash: «palaist garām»Un«printf«. Viņi abi ir tikpat ātri un abi ir daļa no bash. Galvenā atšķirība iesācējam ir tā, ka atbalss beigās pievieno jaunu rindu, savukārt «printf»Nē.

Atbalss ir labs, un to izmanto lielākā daļa cilvēku, tomēr, lasot lietotāja INPUT vai ja vēlaties izdrukāt mainīgos, kas no failiem ņemti ar tekstapstrādi, var notikt dīvainas lietas. Parasti tos var viegli atrisināt, tikpat viegli, kā mainīt divkāršās pēdiņas uz atsevišķām vai otrādi, vai arī izņemt mainīgās atsauces no pēdiņām. «Atbalss»Vai dīvainas lietas notiek arī atkarībā no tā, kā tā tika sastādīta, ja vienmēr izmantojam Ubuntu vai vienmēr Fedora, tas mūs neietekmē, bet, ja mainām izplatīšanu, ko tas dara.

Tāpēc es izmantoju «printf«, Kas man nerada galvassāpes un arī vairāk uzvedas kā«printf»No C vai«drukāt»No Python tas ir ļoti svarīgi, ja kādreiz vēlaties pārnest skriptu uz citu programmēšanas valodu.

Plašākai diskusijai varat apmeklēt šo jautājumu no Unix un Linux Stack Exchange.

4. Izlasiet lietotāja INPUT

Viss, ko mēs rakstām pēc skripta nosaukuma un pirms nospiežat taustiņu ENTER, tiek automātiski saglabāts īpašos mainīgos. Šie mainīgie ir $ X tipa, kur X ir skaitlis.

«$0»Norāda mūsu scenārija nosaukumu un no$1»Līdz bezgalībai viss, ko esam rakstījuši vēlāk, ir mainīgs. Piemēram:

kaķis << EOF >> test.sh #! / bin / bash # - * - IEKODĒJUMS: UTF-8 - * - printf "\ $ 0 = $ 0 \ n" printf "\ $ 1 = $ 1 \ n" printf "\ $ 2 = $ 2 \ n" EOF chmod + x script.sh ./script.sh mans fails.txt

Mēs izveidojam testa skriptu, padarām to izpildāmu un palaižam ar 2 parametriem. Mēs iegūstam ekrāna izvadi:

$ 0 = ./script.sh $ 1 = mans $ 2 = file.txt

Izmantojot pēdiņas, mēs būtu varējuši pārsūtīt failu “my file.txt” uz “$ 1”.

Mēs varam arī izlasīt lietotāja INPUT ar komandu "read", tieši norādot mainīgo, kur mēs vēlamies saglabāt parametru. Piemēram:

printf "Kā tevi sauc? \ n" lasīt NAME printf "Sveiki, $ NAME. \ n"
Esiet piesardzīgs ar mainīgo piešķiršanu. "$ VAR = content" radīs kļūdu, starp vienādības zīmi, mainīgā nosaukumu un saturu nevar atstāt atstarpes. Pareizais lietojums ir "VAR = content"

5. Aprēķini Bash

Tam mēs varam izmantot «izteikt«, Kamēr mums nav jāveic sarežģīti aprēķini. Jāatzīmē divas lietas, pirmā ir tā, ka «izteikt»Pieņem tikai veselus skaitļus, otrais ir tas, ka dalīšana atgriež visu rezultātu, lai redzētu pārējo, ko mēs varam izmantot«%".

Parasti mēs gribēsim piešķirt mainīgā lielumu expr. Mēs to varam izdarīt divos veidos:

VAR2 = "expr $ VAR1 / 10" VAR2 = $ (expr $ VAR1 / 100)

Jūs varat arī izlaist «izteikt»Izmantojot iekavas:

VAR2 = $ (($ VAR1 / 100))
Lai iegūtu sīkāku skaidrojumu par «izteikt»Vai varat aplūkot alternatīvu, kas izmanto veselus skaitļus šis KZKG ^ gaara ieraksts.

6. Nosacījumi

Jau ilgi rakstīts par «if","cits","Elif»Un apstākļi. Par to varat lasīt:

Es tikai vēlos uzsvērt atšķirību starp vienkāršu kvadrātiekavu izmantošanu, «[]«Un dubultās iekavas,«[[]]«, Par apstākļiem. Ar dubultām iekavām mēs varam izmantot papildu nosacījumus:

  • «&&»Par un
  • «||»Par vai

Izmantot "&&»Un«||»Ar vienkāršām kvadrātiekavām katra daļa ir jānošķir starp atsevišķām kvadrātiekavām. Piemērs, kas tiek izmantots skripta daļai, kas meklē, vai ir jāpalaiž palīdzība, būtu šāds:

ja [-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "--palīdzība"]]; tad palidziet fi

Tas arī ietaupa mūs no nepieciešamības rakstīt mainīgo nosaukumus pēdiņās, lai novērstu kļūdas. Piemēram:

ja [$ 1 = 1]; tad printf "Parametrs ir vienāds ar 1."; fi, ja ["$ 1" = 1]; tad printf "Parametrs ir vienāds ar 1."; fi, ja [[$ 1 = 1]]; tad printf "Parametrs ir vienāds ar 1."; fi

Ja skripts.sh tiek palaists bez parametriem, pirmais gadījums radīs kļūdu:

bash: [: =: gaidāms vienots operators
Bashā "=" un "==" abi tiek interpretēti vienādi. Tas nenotiek citās programmēšanas valodās, kur "=" tiek izmantots tikai mainīgo piešķiršanai.

Par ko nav runāts, ir «lieta«, Lieto, lai vienkāršotu«if«. Sāksim sākumā, kad mums nav neviena «if»Tiks izpildīts viss kods. Ja pievienojam nosacījumu «if»Mums būs divi gadījumi, vienā koda bloks iekšpusē«if»Un otrs gadījums, kad šis bloks netiek izpildīts.

Ja mēs pievienojam «cits«Mums būs arī divi gadījumi, taču šie divi gadījumi atšķiras no iepriekšējiem. Jo tagad būs divi nosacīti koda bloki, A un B, un C bloks, kas ir pārējā programma. A vai B tiks izpildīts, un C. Iepriekšējā gadījumā tas bija A un C vai tikai C.

Lai izvairītos no rakstīšanas nosacījumiem «ja / vēl"iekšienē"cits»Un, lai vienkāršotu koda lasīšanu, tas tika izveidots«Elif«. Ja mums ir daudz nosacījumu, kas ir atkarīgi no iepriekšējā, piemēram, skaitļu diapazons vai tips:

VAR1 = $ 1, ja [[$ VAR1 = 1]]; tad izdrukājiet "1 \ n" elif [[$ VAR1 = 2]]; tad izdrukājiet "2 \ n" elif [[$ VAR1 = 3]]; tad printf "3 \ n" cits printf "none \ n" fi

Pēdējo «Elif»Tiks izlasīti daudzi nosacījumi. Šajā gadījumā šis process tiek racionalizēts:

VAR1 = $ 1 gadījums $ VAR 1) printf "1 \ n" ;; 2) printf "2 \ n" ;; 3 | 4) printf "3 vai 4, tas ir atkarīgs \ n" ;; *) printf "nav \ n" ;; ka C

Tiks nolasīts mainīgais, šajā gadījumā VAR1, un tiks pārbaudīts, vai tas ir līdzvērtīgs kādam no gadījumiem, ja nē, tiks izpildīts noklusējuma gadījums "*". Divkārši semikoli ir līdzvērtīgi «pārtraukums«, Viņi stāsta«lieta»Tam ir jābeidzas.

«lieta»Var izmantot arī kā«if«, Šim nolūkam jālieto« ;; »vietā« ;; & »(turpināt). (apstāties).

7. Cilpas

Jebkurā programmēšanas valodā ir zināmas ļoti maz cilpas. Bašā viņi ir «kamēr","līdz»Un«forums«. Par šiem ir jau rakstīts blogā:

Ir divu veidu cilpas «forums«, Tāda veida«$ par VAR LOQUESEA»Un kas ir C tipa«$ par ((I = 0; I <= 10; I ++))«. Otrā veida cilpas «forums»Ir ļoti noderīgi, tā sākumā ir 3 daļas:

  • Mainīgo deklarēšana un iniciēšana (Šajā gadījumā palīg mainīgais "I = 0").
  • Izpildes nosacījums (līdz I ir mazāks vai vienāds ar 10).
  • Palīg mainīgā palielinājums

Manuprāt, tā ir visspēcīgākā cilpa no visiem. Piemērs, kas izdrukā visus skaitļus no 0 līdz 10 (ieskaitot):

#! / bin / bash priekš ((I = 0; I <= 10; I ++)); vai izdrukāt "$ I \ n"

8. Funkcijas

Ir dažas lietas, kuras Bašs mums neļauj darīt, vai ne? No pirmā acu uzmetiena bash funkcijas neļauj jums veikt 3 lietas: vietējo mainīgo deklarēšanu funkcijās, parametru nodošanu funkcijām un parametru atdošanu. Visam ir risinājums.

Nedariet neko līdzīgu:

#! / bin / bash VAR = 1 printc "$ VAR \ n" funkcija sveiki () {VAR = 2 printf "$ VAR \ n"} sveiki printf "$ VAR \ n"

Tādējādi tiek drukāts uz 1., 2. un 2. ekrāna.

Lai deklarētu lokālos mainīgos, pievienojiet «vietējs»Deklarējot:

#! / bin / bash VAR = 1 printf "$ VAR1 \ n" funkcija foo () {local VAR1 = 2 printf "$ VAR1 \ n"} printf "$ VAR1 \ n" foo printf "$ VAR1 \ n"

Ekrānā tiek izdrukāti 1, 1, 2, 1.

Kā jūs nododat parametrus funkcijai?

#! / bin / bash # - * - IEKODĒŠANA: UTF-8 - * - funkcija sveiki () {printf "Sveiki $ 1 \ n"}

printf "Kā tevi sauc? \ n"
lasīt VAR1
labdien $ VAR1

Kā tiek atgriezti parametri?

#! / bin / bash # - * - IEKODĒŠANA: UTF-8 - * - funkcija sveiki () {printf "Hello holita"} printf "Kā jūs saucat? \ n" lasiet VAR1 VAR1 = $ (sveiki) # ŠEIT IR printf "$ VAR1 $ VAR2 \ n"

Kā redzat, tam ir divi trūkumi, jūs varat atgriezt tikai vienu parametru, kas var būt vektors 😀, un, ja vēlaties atgriezt parametru, no šīs funkcijas vairs nevarat drukāt uz ekrāna.

Podéis encontrar más cosas de funciones en [url=https://blog.desdelinux.net/programando-en-bash-parte-3/]este artículo de Usemoslinux[/url].

9. Getops

Viena no pēdējām lietām, kas jums jāzina par Bash, lai izveidotu sarežģītus skriptus, ir «getops«. To izmanto opciju nodošanai skriptam neatkarīgi no secības. Vienīgais trūkums ir tas, ka tas ietekmē tikai īsās iespējas:

#! / bin / bash # - * - IEKODĒŠANA: UTF-8 - * - VARC = 0 funkcijas palīdzība () {printf "Palīdzības ziņojums \ n" iziet}, ja [[-z $ 1]]; tad palīdzi fi, kamēr getopts: ha: b: c OPT; do gadījums $ OPT h) palīdzībā ;; :) palīdzība ;; a) VARA = $ OPTARG ;; b) VARB = $ OPTARG ;; c) VARC = 1 ;; \?) palīdzība ;; esac done # Skripta galvenais bloks, kas # dara lietas ar VARA, VARB un VARC

«getopts»Izlasa opcijas pa vienam, tāpēc ir nepieciešama cilpa.

Ir 2 veidu opcijas, kuras var nodot, izmantojot «getopts":

  • Parametri, kurus sauc par karodziņiem, šajā gadījumā -c vai -h. Tie ir norādīti ar burtu, kuru mēs vēlamies izmantot. Tie ir kā Būla mainīgie, «patiess»(Are) vai«nepatiess"(Viņi šeit nav).
  • Parametri ar saistītajiem argumentiem, -a jebkas, -b jebkas. Tie ir norādīti ar vēlamo burtu ar zemāk esošo kolu. Arguments tiek saglabāts OPTARG (šis nosaukums nav maināms).
Sākotnējie dubultpunkti neparāda kļūdas.

Ko dara šis skripts?

Parāda palīdzības ziņojumu, kad netiek nodota neviena opcija, kad tiek nodots parametrs "-h", kad tiek nodots nederīgs parametrs (piemēram, "-x", to dara "\?") Vai arī tad, ja derīgs parametrs bez arguments (":"). Pārējos gadījumos tas saglabā "-c" kā 1 klātbūtni VARC un vērtības, kas nodotas ar "-a" un "-b" VARA un VARB.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   dzīvīgs teica

    MEISTARĪGI. Es nesaku vairāk U_U

  2.   Miguel teica

    Sveiki, ļoti labs raksts.
    Sveiki, jūs piešķirat atļaujas sudo + x, nevis chmod + x

    1.    Henry teica

      $ sudo chmod + x script.sh
      (Pareizāk sakot, hehe)

      Ak, apsveicu un paldies!

  3.   ugunskurs teica

    Ļoti laba ziņa, es jūs tiešām apsveicu, turpiniet to turpināt, sveicieni

  4.   Gustavo teica

    Ja vēlaties, lai skripts būtu redzams, kad tas tiek izpildīts, soli pa solim, piemēram, redzot, kā mainīgie, nosacījumi un viss darbojas, varat izmantot:

    sh -x skripts

    Sveicieni

  5.   palama teica

    Pielāgojuma gabals. Izcils un ļoti labi izskaidrots.
    Paldies.

  6.   Gabriel teica

    Izcila ziņa par šo tēmu 😉

  7.   Mario Giljermo Zavala Silva teica

    Ļoti interesants un ļoti svarīgs paldies par informāciju ...
    PRIEKĀ !!!

  8.   Ne no Bruklinas teica

    Paldies visiem par apsveikumiem, kā ar komandu Migel, viņš man neļauj modificēt ierakstu, tiklīdz tas ir publicēts. Tas būs jādara elav, ko es iedomājos.

  9.   Adrians teica

    Ļoti labi!

    Pirmkārt, es gribēju apsveikt jūs ar ierakstu, man tas bija viegli saprotams, un tas patiešām palīdz ievērot vadlīnijas, lai labi programmētu bash, it īpaši cilvēkiem, kuri sāk programmēt.

    Tomēr esmu atradis pāris detaļas, kuras, manuprāt, būtu jālabo.

    Pirmkārt: sadaļā «2. SKRAKSTA STRUKTŪRA »funkcija nav aizvērta, kas radīs problēmas, izpildot to skriptā.
    Risinājums būtu pievienot bikšturi tieši pēc komandas "iziet".

    Otrais: sadaļā «4. LASIET LIETOTĀJA IEVADI ”jūs apstiprināt, ka parametri, kurus lietotājs var ievadīt, svārstās no $ 0 līdz bezgalībai, tomēr“ bash ”interpretēs tikai no $ 0 līdz $ 9, jo $ 10 būs vienāds ar $ 1 + 0.
    Lai atrisinātu šo problēmu, varat izmantot komandu "shift", lai paķertu šādus mainīgos. Vai arī norādiet mainīgo iekavās "$ {10}", lai bash ņemtu vērtības kopā, nevis kā $ 1 + 0.

    Bez liekas kavēšanās sveicieni!

    1.    Ne no Bruklinas teica

      Paldies par komentāru. Tas pilnīgi nespēja izskaidrot pareizu izejas izmantošanu gan skriptā, gan funkcijās. Kas attiecas uz $ {10}, es vēl nekad neesmu novēlējis tik daudz, tāpēc neesmu saskāries ar šo problēmu, ir labi zināt, ka tam ir risinājums (es jau izsvītroju šodien apgūto jauno lietu 😀).

  10.   chanio teica

    Liels paldies par rakstu! Dažām jūsu pieminētajām lietām joprojām trūka skaidrības. Piemēram, getops.
    Ekrāna izeju daļā jūs neminējāt kaķi, kuru vēlāk pieminējāt ...
    kaķis <
    ***************************************
    * Šī forma ir ļoti izteiksmīga *
    ***************************************
    EOF

    Jūsu piemērā:
    kaķis << EOF >> tests.sh
    Jāpiemin divas lietas ... >> tas ir 'pievienot', tas ir, ja atkārtojat to pašu komandu, viss skripts būs divos eksemplāros ... Jums jāizmanto tikai viens ...
    kaķis << EOF> skripts.sh
    Jā, to vajadzētu saukt arī par script.sh
    Tad iekšā
    ja [-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "- palīdzība"]]; pēc tam
    palīdzēt
    fi

    Es domāju, ka tas būtu jāraksta ...
    ja [[-z "$ 1"] || ["$ 1" == "-h"] || ["$ 1" == "- palīdzība"]]; pēc tam
    ...

    BASH var atklāt daudz vairāk.
    Vai jūs varētu to nosaukt par "BASICS"? 🙂
    Piemēram, parametram “testētāji” patīk -z, lai redzētu, vai tie ir tukši, vai -f, lai uzzinātu, vai tas pastāv kā fails.

    Vēlreiz paldies par jūsu pūlēm.
    Alberto

  11.   clow_eriol teica

    Ļoti laba bash skripta apmācība!

  12.   OCZ teica

    -- IEKODĒŠANA: UTF-8 --

    Es pirmo reizi redzu šo rindu, lai iestatītu rakstzīmju kodēšanu bash skriptā. Man tas vairāk šķiet kā Python, nevis Bash. Vai tas tiešām ir vajadzīgs? Es meklēju atsauci Google tīklā, bet neko nevaru atrast. Vai jums ir pieejama saite, kas runā par šo jautājumu? Konkrēti par šīs līnijas piemērotību.

    Manuprāt, lai rakstītu skriptus Bash, izmantojot UTF-8, teksta fails ir jāsaglabā tikai kā tāds (bez BOM) un ir pareizi iestatīti noteikti vides mainīgie (LANG un LC_ *).
    Tad acīmredzot ir nepieciešams, lai izpildītās komandas būtu sagatavotas kodējumiem, kas nav ASCII. Piemēram, ja mēs vēlamies pāriet uz lielajiem burtiem, tas, šķiet, nedarbojas:
    «Echo áéíóú | tr az AZ »
    o:
    «Echo áéíóú | tr [: apakšējais:] [: augšējais:] »
    un labāk ir izmantot:
    «Echo áéíóú | awk '{print toupper ($ 0)}' ».

    1.    Ne no Bruklinas teica

      Par "šifrēšana»Jau pieminēts šajā emuārā:

      Bash: kā padarīt skriptu izpildāmu
      Pēc instalēšanas lietderības skripts

    2.    borikito kā tu teica

      Kāds mani izlaboja, bet šī kodēšanas līnija (# -- IEKODĒŠANA: UTF-8 --) Tam nav nekāda sakara ar bash vai čaulu: tā ir komentāru rindiņa (sākas ar #) un kalpo, lai redaktoram pateiktu, ka mēs izmantojam, lai rakstītu skriptu (vim, emacs ...) faila kodējumu.

      Patiesībā Bash šādu līniju neredz, jo tā ir komentāru rindiņa.

  13.   JoRgE-1987 teica

    Lieliska apmācība, jo Sysadmin ir svarīgi zināt skriptus basa valodā, un tas ir noderīgs visam.

    Ļoti ļoti labi!

    Sveicieni!

  14.   Eduardo Kuomo teica

    Ja tas ir noderīgs ikvienam, šeit ir vairāki veidi un piemēri, kā izveidot savus skriptus: https://github.com/reduardo7/hsabx

  15.   Lito Melns teica

    Ļoti labi. Jaunas lietas, ko pievienot maniem skriptiem. Encodig un printf lietai to nebija.
    Paldies!!!

  16.   xxxtonixxx teica

    Sooo labs raksts! Es paturēju šo izlasi, būtu jauki izlabot nepareizo un pat paplašināt to ar vairāk satura. Aplausi visai šai informācijai !!!!