Microsoft Word Modulul3 doc


M3.U2.7. Utilizarea funcŃiilor



Yüklə 484,48 Kb.
Pdf görüntüsü
səhifə18/26
tarix31.12.2021
ölçüsü484,48 Kb.
#111572
1   ...   14   15   16   17   18   19   20   21   ...   26
9.Modulul3U2

M3.U2.7. Utilizarea funcŃiilor  

          FuncŃiile se pot declara oriunde în cadrul scriptului. O declaraŃie de funcŃie are sintaxa:



 

nume_func() { lista_comenzi; } 

Apelul funcŃiilor în script se face ca şi în cazul unor comenzi oarecare, eventual cu parametri. 

Nu este necesară declararea parametrilor în antetul funcŃiei, deoarece aceştia vor fi identificaŃi 

în  corpul  acesteia  (la  fel  ca  în  cazul  apelului  unui  script)  prin  $1,  $2,  ...  Aceste 

variabile  îşi  păstrează  valoarea  doar  în  timpul  execuŃiei  funcŃiei,  la  revenire  fiind  restaurate 

valorile lor iniŃiale.  

           Functiile  pot  avea  oricâŃi  parametri,  pot  fi  recursive  şi  imbricate  (se  pot  defini  in 

interiorul  altor  funcŃii)  şi  sunt  apelabile  de  oriunde;  ele  pot  fi  apelate  numai  după  ce 

interpretorul  le-a  întâlnit  definiŃia  în  cursul  execuŃiei  scriptului.  De  asemenea,  este  necesară 

unicitatea numelui din interiorul script-ului.  

 

Exemplu. Crearea şi executarea unui script care declară şi apelează o funcŃie. 

$cat >exfunc1 

  function func1 {echo “Exemplu de functie"} 

  cont=1 

  while [ $cont -le 3 ] 

  do 

  func1; 



  cont=$[ $cont + 1 ] 

  done  


  echo “Sfirsitul ciclarii" 

  func1 


  echo “Sfirsitul script-ului" 

$./exfunc1 

Exemplu de functie 

Exemplu de functie  

Exemplu de functie 

Sfirsitul ciclarii 

Sfirsitul script-ului 

Interpretorul bash tratează funcŃiile ca şi “mini-scripturi”, adică după execuŃie returnează un 

cod  (stare)  de  ieşire.  Există  trei  moduri  diferite  prin  care  se  poate  genera  un  cod  de  ieşire 

dintr-o funcŃie. 

1.  O  funcŃie  se  poate  termina  după  execuŃia  ultimei  comenzi  (şi  întoarce  codul  de  ieşire  al 

acesteia). 

 

 

Exemplu.  



$ cat > exfunc2 

func1() { 

echo "Incercare de afis.a inf. despre un fis. ne-exis." 

ls -l fisinex} 




 

101 


echo "Testarea functiei:" 

func1 


echo "Codul de iesire: $?" 

$./exfunc1 

Testarea functiei: 

Incercare de afis.a inf. despre un fis. ne-exis. 

ls: fisinex: No such file or directory 

The exit status is:1 

Codul de ieşire al funcŃiei este 1, deoarece  ultima comandă din interiorul funcŃiei, 

s-a executat fără succes.  




Yüklə 484,48 Kb.

Dostları ilə paylaş:
1   ...   14   15   16   17   18   19   20   21   ...   26




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin