Bash

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

Bash este un shell (interpretor de comenzi) specific sistemului de operare Linux, conceput sub auspiciile GNU. Denumirea este un acronim de la Bourne-Again Shell, după numele lui Steve Bourne, autorul shell-ului sh pentru UNIX, predecesorul bash-ului. Pentru sistemele de operare Linux, shell-ul implicit este Bash. [1]

Generalități[modificare | modificare sursă]

Pentru a scrie scripturi în Bash este necesar un editor de text. Exemple: Gedit, Nano, MidnightCommander Edit.

Un script în Bash trebuie obligatoriu să aibă prima linie de cod: #!/bin/bash, deoarece trebuie comunicat sistemului de operare ce interpretor de comenzi se utilizează.

Comentariile în Bash se fac utilizând caracterul urmator: #.

Informații suplimentare[modificare | modificare sursă]

Bash este un limbaj de scripting compatibil cu comenzile de shell. El poate fi executat fie din input-ul standard, fie dintr-un fișier. Scripturile Bash sunt în realitate fișiere text făcute executabile, aceste fișiere putând fi editate cu orice editor de text. Aceste scripturi sunt folosite pentru a executa comenzi simple sau complexe.

Rulare[modificare | modificare sursă]

Pentru a executa aplicația creată trebuie introdusă în consola urmatoarea comandă:

cd ~/Directorul unde se afla scriptul

bash nume_script.sh

Informații suplimentare[modificare | modificare sursă]

Dacă doriți ca aplicatia să devina un executabil, atunci intoduceți:

chmod +x nume.sh

Pentru pornire, dublu clic pe pictograma aplicației. O altă posibilitate este cea de a rula scriptul direct în consolă:

./nume.sh

Exemplu[modificare | modificare sursă]

Exemplul „Hello World!”:

#!/bin/bash

clear

echo "Hello World!"

Utilizând comanda echo, avem posibilitatea de a afișa un text. În cazul nostru, "Hello World!", în traducere: "Salut lume!".

Comanda clear are rolul de a șterge conținutul ecranului, înlocuindu-l cu mesajul ales.

Informații suplimentare[modificare | modificare sursă]

echo acceptă mai mulți parametri:

-e interpretează caracterul backslash

-E dezactivează interpretarea caracterului backslash

\a avertizare sonoră

\b șterge ultimul caracter afișat

\c șterge șirul de caractere care urmează această comandă

\n face trecerea la o linie nouă

\r are efectul apăsării tastei "Enter"

\t afișează caracterul "Tab"

Variabile[modificare | modificare sursă]

In Bash există două tipuri de variabile, și anume:

  • Definite de utilizator
  • Variabilele sistemului Pentru a vizualiza o listă cu toate variabilele sistemului, rulați în consola următoarea comandă: set Cum declarăm variabile in Bash? Exemplu de variabile din sistem: #!/bin/bash echo "Salut $USER" USER este o variabila ce îți afișează numele de utilizator al contului cu care ești autentificat. Exemplu de variabilă definita de utilizator: #!/bin/bash nume=adrian varsta=8 echo "Salut $nume, știu că ai $varsta!" nume respectiv varsta sunt variabilele noastre. Utilizănd comanda echo, am afișat variabilele definite de noi.

Declarație de citire[modificare | modificare sursă]

Această declarație este folosită pentru preluarea datelor de la utilizator prin intermediul tastaturii și memorarea datelor în variabile.

Exemplu:

#!/bin/bash

read nume

echo "Salutare $nume, ce faci?"

Mai precis, read acordă posibilitatea de a introduce un text de la tastatură.

Condiția if[modificare | modificare sursă]

Condiția if este o simplă comparație între două valori. Ea este folosită pentru luarea deciziilor în Bash.

Exemplu:

#!/bin/bash

if cat $1

then

echo "Fisierul $1 a fost gasit si afisat cu succes."

fi

Explicație: Dacă comanda cat găseste fișierul "$1" și îl afișează pe ecran, înseamnă că această comandă a fost executată cu succes și starea ei de exit este 0. Dacă însă comanda nu este executată cu succes, atunci valoarea stării de exit returnată de aceasta este diferită de zero și declarația: echo "Fisierul $1 a fost gasit si afisat cu succes." nu este executată de catre shell.

Note[modificare | modificare sursă]

  1. ^ Bash ca limbaj de programare

Legături externe[modificare | modificare sursă]