Bash Pagina 67

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Prezentare Generală - Funcții în Bash

Funcțiile în Bash permit reutilizarea codului, organizând comenzi sub o singură unitate executabilă. Acestea sunt utile pentru a reduce duplicarea și pentru a structura scripturile mai eficient.

Declarația unei Funcții

Funcțiile pot fi declarate în două moduri principale:

  • Cu cuvântul cheie function:
function nume_functie {
   # comenzi
}
  • Fără cuvântul function:
nume_functie() {
   # comenzi
}

Exemplu:

function salut {
   echo "Salut, lume!"
}

Utilizarea Funcțiilor

După ce o funcție este definită, aceasta poate fi apelată pur și simplu prin numele ei:

salut  # Apelează funcția definită mai sus

Funcțiile pot primi argumente la apelare, accesate prin variabilele poziționale $1, $2, etc.:

function adunare {
   local suma=$(( $1 + $2 ))
   echo "Suma este: $suma"
}
adunare 5 3  # Afișează "Suma este: 8"

Date Returnate de Funcții

Funcțiile în Bash nu pot returna valori direct, dar pot transmite date prin:

  • Ieșirea standard (echo) pentru a le prelua în variabile sau alte comenzi.
  • Codul de ieșire cu return pentru valori întregi între 0 și 255, util pentru statusul de execuție.

Exemplu:

function verifica_fisier {
   <nowiki>-f "$1" <nowiki> && return 0 || return 1
}
if verifica_fisier "fisier.txt"; then
   echo "Fișierul există."
else
   echo "Fișierul nu există."
fi

Exportarea Funcțiilor

Funcțiile pot fi exportate pentru a fi accesibile în subprocese, permițând reutilizarea acestora în alte shell-uri lansate de scriptul principal.

Sintaxă:

export -f nume_functie

Exemplu:

function salut {
   echo "Salut, lume!"
}
export -f salut
bash -c 'salut'  # Afișează "Salut, lume!" într-un subshell

Rezumat

Termen Descriere

  • declare Permite definirea funcțiilor cu sau fără function.
  • Utilizare Funcțiile sunt apelate prin nume și pot primi argumente.
  • Date Returnate Funcțiile pot folosi echo pentru date și return pentru statusuri.
  • Export Funcțiile exportate devin accesibile în subprocese.


Pagina anterioară | Următoarea pagină