Bash scripting este una dintre cele mai populare și accesibile modalități de programare a computerului Linux. Aceste exemple simple de script vă vor ajuta să înțelegeți procesul și vă vor prezenta elementele de bază ale programării Bash.
Cuprins
1. Cum să imprimați Hello World în Bash
Exemplul Hello World este o modalitate excelentă de a învăța despre orice limbaj de programare, iar Bash nu face excepție.
Iată cum să imprimați „Hello World” folosind Bash:
#!/bin/bash
Comanda Shebang (#!/bin/bash) este esențială, deoarece shell-ul o folosește pentru a decide cum să ruleze scriptul. În acest caz, folosește interpretul Bash.
echo "Hello World"
chmod +x hello_world.sh
./hello_world.sh
2. Creați un director prin citirea intrării
Din scripturile dvs., puteți rula orice program pe care l-ați putea rula în mod normal pe linia de comandă. De exemplu, puteți crea un director nou din scriptul dvs. folosind comanda mkdir.
#!/bin/bash
echo "Enter new directory name:"
read newdir
mkdir $newdir
3. Creați un director folosind argumentele liniei de comandă
Ca alternativă la citirea interactivă a intrărilor, majoritatea comenzilor Linux acceptă argumente. Puteți furniza un argument atunci când rulați un program, pentru a-i controla comportamentul.
În scriptul tău, poți folosi $1 pentru a te referi la o variabilă specială care conține valoarea primului argument. $2 se va referi la al doilea argument și așa mai departe.
#!/bin/bash
mkdir $1
./arg_dir.sh Test
S-ar putea să vă întrebați ce se întâmplă dacă rulați scriptul fără a furniza deloc un argument. Încearcă și vezi; ar trebui să primiți un mesaj de eroare care începe „usage: mkdir”:
Fără niciun argument de linie de comandă, valoarea lui $1 va fi goală. Când scriptul dvs. apelează mkdir, acesta nu îi va transmite un argument, iar comanda mkdir va returna acea eroare. Pentru a evita acest lucru, puteți verifica singur starea și puteți prezenta o eroare mai prietenoasă:
#!/bin/bash
if ["$1" = ""]; then
echo "Please provide a new directory name as the first argument"
exit
fi
mkdir $1
Când rulați această nouă versiune a scriptului, veți primi un mesaj dacă uitați să includeți un argument:
4. Ștergeți un fișier utilizând o funcție Bash
Dacă repetați același cod, luați în considerare includerea lui într-o funcție. Puteți apela apoi acea funcție oricând aveți nevoie.
Iată un exemplu de funcție care șterge un anumit fișier.
#!/bin/bash
del_file() {
echo "deleting $1"
rm $1
}
Apoi puteți apela funcția și îi puteți transmite numele unui fișier de șters:
del_file test.txt
Când apelați o funcție, aceasta va seta valoarea specială $? valoare cu starea de ieșire a ultimei comenzi pe care o rulează. Starea de ieșire este utilă pentru verificarea erorilor; în acest exemplu, puteți testa dacă comanda rm a reușit:
if [ $? -ne 0 ]; then
echo "Sorry, could not delete the file"
fi
5. Creați un calculator de bază pentru calcule aritmetice
Acest exemplu final demonstrează un calculator foarte simplu. Când îl rulați, veți introduce două valori, apoi veți alege o operație aritmetică pentru a le efectua.
Iată codul pentru calc.sh:
#!/bin/bash
echo "Enter first number: "
read aecho "Enter second number: "
read b
echo "Enter Arithmetic Operation Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read choice
case $choice in
1)
result=`echo $a + $b | bc`
;;2)
result=`echo $a - $b | bc`
;;3)
result=`echo $a \* $b | bc`
;;4)
result=`echo "scale=2; $a / $b" | bc`
;;
esacecho "Result: $result"
Observați utilizarea casei… esac, care este echivalentul lui Bash al instrucțiunii switch din alte limbi. Vă permite să testați o valoare – în acest caz, variabila de alegere – împotriva mai multor valori fixe și să rulați codul asociat.
Acest script folosește comanda bc pentru a efectua fiecare calcul.