From 0e0ae337d43d7c418f2fc59f62abede8de0323a4 Mon Sep 17 00:00:00 2001 From: Adrian Bordinc Date: Fri, 7 Mar 2014 20:01:32 +0100 Subject: [PATCH] Added bash/ro-ro translation --- .DS_Store | Bin 0 -> 15364 bytes ro-ro/bash-ro.html.markdown | 171 ++++++++++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 .DS_Store create mode 100644 ro-ro/bash-ro.html.markdown diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5ea5f7b2ad3de6c05622ab84f84bac19064ad7eb GIT binary patch literal 15364 zcmeHMv2Ghj5S^uX0D}aONYStrs9@=aM$)AVZO8#!xUrj5c1VdbX;C_ZqGZt(KO>*y z!XJ}$!yKqZWsf`fH7bU7z4(@_rL(wY#yy2tKM2;z!)$F zt{7l_=;35PsQXpbYw19vTLAP;+|~ov*axUjukHtRzp8q51!lE-aJ8$ew-~N+$L~Fw zqaW1$s_H9uah1EcdSqAcP@Ikqzn+?l8&tiu#(*)f&H(rBKga{w!`}U+zke_HN3(K- zU->}&A+qt?r5*~=gvTqH%Hqi^wv+p?Xk1>ZT}MVTlvA0&eu8fU$1=m!G49RfNDlC= z;H{iQ7$4wy-y7>LFy`=>%84Axne4+e8O=S5&^FW`d5pQ1$Uz?rOo99+ z1Mzc&*aae0K^o>IrTPE$=~xQ}B4xHH=#E@!G&U z%ZXjp;v;l*tzQ6Vh&PgCCRIzHJS}xlZO6dKTydO_u>%%I$jBJ$-=gNJkL%>9R3koO z2kS8FY|hh9jrbTX#aN)aKG1dfJbbED4ZeLF_LH3TUsd8GFzPa|ifR?{F$!St*~VLD z7_TbeI!oAxmdtVEPcO$^U@n0=$$RR!#soN<$VhrlvAzV}U3d?X3D)%twNV=Z&Zaz* z$MO(+gs14g^8U`%CGc(|iZSYJ@;s=M0HFW^s|MPTcj{ryl55BOy0s&)+@%e2zJxWO zBEG*baW3%JaeA!ONPye9!cCs9s^`6@o^8ajkIb>sq@z$fKFW^HhVORO8!lJ6YX6nE zGCS(YM=Zb&-?7k!c~HfKmglHSebn!0cc<#`Eq7qU-2`j%4Ef-0af;a|&s){vBX+Q- zoB$(ZU!gh*F_wrVi!Iibh^=>sgH<`=KsDo!hF9NPIX0?Md;I?Y_}~Bke=D)spvHhP z@NF1y&AsP)k1$sKZGCN2erxaH{0k=!+O4WyUC`*~c=S!&<{$hV&o6X8(fH7bU L7z4(@f02PN;;Pwq literal 0 HcmV?d00001 diff --git a/ro-ro/bash-ro.html.markdown b/ro-ro/bash-ro.html.markdown new file mode 100644 index 00000000..fa91cca4 --- /dev/null +++ b/ro-ro/bash-ro.html.markdown @@ -0,0 +1,171 @@ +--- +category: tool +tool: bash +contributors: + - ["Max Yankov", "https://github.com/golergka"] + - ["Darren Lin", "https://github.com/CogBear"] + - ["Alexandre Medeiros", "http://alemedeiros.sdf.org"] + - ["Denis Arh", "https://github.com/darh"] +translators: + - ["Adrian Bordinc", "https://github.com/ellimist"] +lang: ro-ro +filename: LearnBash-ro.sh +--- + +Bash este numele shell-ului unix, care a fost de asemenea distribuit drept shell pentru pentru sistemul de operare GNU si ca shell implicit pentru Linux si Mac OS X. +Aproape toate exemplele de mai jos pot fi parte dintr-un script sau pot fi executate direct in linia de comanda. + +[Citeste mai multe:](http://www.gnu.org/software/bash/manual/bashref.html) + +```bash +#!/bin/bash +# Prima linie din script se numeste "shebang" care spune systemului cum sa execute scriptul +# http://en.wikipedia.org/wiki/Shebang_(Unix) +# Dupa cum te-ai prins deja, comentariile incep cu #. Shebang este de asemenea un comentariu. + +# Exemplu simplu de hello world: +echo Hello world! + +# Fiecare comanda incepe pe o linie noua, sau dupa punct si virgula ; +echo 'Prima linie'; echo 'A doua linie' + +# Declararea unei variabile se face astfel: +VARIABLE="Niste text" + +# DAR nu asa: +VARIABLE = "Niste text" +# Bash va crede ca VARIABLE este o comanda care trebuie executata si va +# returna o eroare pentru ca nu va putea fi gasita. + +# Folosind variabila: +echo $VARIABLE +echo "$VARIABLE" +echo '$VARIABLE' +# Atunci cand folosesti variabila, o atribui, o exporti sau altfel, numele ei se scrie fara $. +# Daca vrei sa folosesti valoarea variabilei, atunci trebuie sa folosesti $. +# Atentie la faptul ca ' (apostrof) nu va inlocui variabla cu valoarea ei. + +# Inlocuirea de caractere in variabile +echo ${VARIABLE/Some/A} +# Asta va inlocui prima aparitie a "Some" cu "A" in variabila de mai sus. + +# Substring dintr-o variabila +echo ${VARIABLE:0:7} +# Asta va returna numai primele 7 caractere din variabila. + +# Valoarea implicita a unei variabile: +echo ${FOO:-"ValoareaImplicitaDacaFOOLipsesteSauEGoala"} +# Asta functioneaza pentru null (FOO=), sir de caractere gol (FOO=""), zero (FOO=0) returneaza 0 + +# Variabile pre-existente +echo "Ulima valoare returnata de ultimul program rulat: $?" +echo "ID-ul procesului (PID) care ruleaza scriptul: $$" +echo "Numarul de argumente: $#" +echo "Argumentele scriptului: $@" +echo "Argumentele scriptului separate in variabile: $1 $2..." + +# Citind o valoare din consola +echo "Care e numele tau?" +read NAME # Observa faptul ca nu a trebuit sa declaram o variabila noua +echo Salut, $NAME! + +# Avem obisnuita instructiune "if" +# Foloseste "man test" pentru mai multe informatii despre instructinea conditionala +if [ $NAME -ne $USER ] +then + echo "Numele tau este username-ul tau" +else + echo "Numele tau nu este username-ul tau" +fi + +# Este de asemenea si executarea conditionala de comenzi +echo "Intotdeauna executat" || echo "Executat numai daca prima instructiune esueaza" +echo "Intotdeauna executat" && echo "Executat numai daca prima instructiune NU esueaza" + +# Expresiile apar in urmatorul format +echo $(( 10 + 5 )) + +# Spre deosebire de alte limbaje de programare bash este un shell - asa ca +# functioneaza in contextul directorului curent. Poti vedea fisiere si directoare +# din directorul curent folosind comanda "ls": +ls + +# Aceste comenzi au optiuni care la controleaza executia +ls -l # Listeaza fiecare fisier si director pe o linie separata + +# Rezultatele comenzii precedente poate fi trimis urmatoarei comenzi drept argument +# Comanda grep filtreaza argumentele trimise cu sabloane. Astfel putem vedea fiserele +# .txt din directorul curent. +ls -l | grep "\.txt" + +# De asemenea poti redirectiona o comanda, input si error output +python2 hello.py < "input.in" +python2 hello.py > "output.out" +python2 hello.py 2> "error.err" +# Output-ul va suprascrie fisierul daca acesta exista. +# Daca vrei sa fie concatenate poti folosi ">>" + +# Comenzile pot fi inlocuite in interiorul altor comenzi folosind $( ): +# Urmatoarea comanda afiseaza numarul de fisiere si directoare din directorul curent +echo "Sunt $(ls | wc -l) fisiere aici." + +# The same can be done using backticks `` but they can't be nested - the preferred way +# is to use $( ). +# Acelasi lucru se poate obtine folosind apostrf-ul inversat ``, dar nu pot fi folosite +# unele in interiorul celorlalte asa ca modalitatea preferata este de a folosi $( ) +echo "Sunt `ls | wc -l` fisiere aici." + +# Bash foloseste o instructiune 'case' care functioneaza in mod similar cu instructiunea +# switch din Java si C++ +case "$VARIABLE" in + 0) echo "Este un zero.";; + 1) echo "Este un unu.";; + *) echo "Nu este null";; +esac + +# Instructiunea for parcurge toate elementele trimise: +# Continutul variabilei $VARIABLE este printat de 3 ori +for VARIABLE in {1..3} +do + echo "$VARIABLE" +done + +# while loop: +while [true] +do + echo "in interiorul iteratiei aici..." + break +done + +# De asemenea poti defini functii +# Definitie: +function foo () +{ + echo "Argumentele functioneaza ca si argumentele scriptului: $@" + echo "Si: $1 $2..." + echo "Asta este o functie" + return 0 +} + +# sau mai simplu +bar () +{ + echo "Alta metoda de a declara o functie" + return 0 +} + +# Invocarea unei functii +foo "Numele meu este: " $NAME + +# Sunt o multime de comenzi utile pe care ar trebui sa le inveti: +tail -n 10 file.txt +# printeaza ultimele 10 linii din fisierul file.txt +head -n 10 file.txt +# printeaza primele 10 linii din fisierul file.txt +sort file.txt +# sorteaza liniile din file.txt +uniq -d file.txt +# raporteaza sau omite liniile care se repeta, cu -d le raporteaza +cut -d ',' -f 1 file.txt +# printeaza doar prima coloana inainte de caracterul "," +```