Microsoft Word Modulul3 doc



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

ObservaŃie.  În  exemplul  anterior,  nu  ştim  dacă  alte  comenzi  din  interiorul  funcŃiei  s-au 

terminat cu  succes sau nu. 

 

Exemplu. Folosirea codului de retur implicit, poate genera efecte necontrolabile. 

$ cat > exfunc3 

  func1() { 

  ls -l fisinex 

  echo "Test cu comanda gresita" 

  } 


  echo "Testarea functiei:" 

  func1 


  echo " Codul de retur este: $?" 

  $./exfunc3 

  Testarea functiei: 

  ls: fisinex : No such file or directory 

  Test cu comanda gresita

  Codul de retur este: 0 

Deoarece ultima comandă din interiorul funcŃiei este echo, care se termină cu 

succes, codul de ieşire este 0, chiar dacă alte comenzi se execută greşit. 

2. Utilizarea comenzii interne returncu parametru codul de ieşire ce va fi returnat; astfel 

se specifică o anumită valoare întregă, ca şi cod de ieşire care poate fi utilizată mai departe în 

cadrul scriptului.  

 

Exemplu.  

$ cat >exfunc3 

  function dbl { 

  read -p "Introduceti o valoare: " val 

  echo "Se dubleaza valoarea" 

  return $[ $val * 2 ] 

  } 


  dbl 

  echo "Noua valoare este $?" 

$./exfunc3 

Introduceti o valoare: 200 

Noua valoare este 400 

FuncŃia dbl dublează valoarea conŃinută în variabila $val, introdusă de la intrarea 

standard şi o returnează prin comanda   return, pe care apoi script-ul o afisează 

folosind  variabila $? . 



ObservaŃie.  Trebuie  ca  valoarea  returnată,  conŃinută  în 

$?  să  aibă  o  valoare  numerică  mai 

mică sau egală cu 256. Valoarea conŃinută în $? se poate pierde, dacă între timp se execută 

alte comenzi, care atribuie propriile coduri de retur lui $?. Această metodă nu poate fi folosită 

daca se returnează un şir de caractere. 



 

102 


3. Utilizarea unei variabile pentru salvarea ieşirii funcŃiei.  După corpul funcŃiei, se introduce 

o comandă de atribuire, care în membrul drept are numele funcŃiei între apostroafe speciale.  

 

Exemplu.  

$cat >exfunc3 

 

  function dbl() { 



  read -p "Introduceti o valoare: " val 

  echo $[ $value * 2 ] 

  } 

  resultat=`dbl`; 



  echo " Noua valoare este $result" 

  $./exfunc3 

  Introduceti o valoare: 200 

  Noua valoare este 400 

Scriptul foloseşte valoarea returnată de funcŃie în comanda echo. 


Yüklə 484,48 Kb.

Dostları ilə paylaş:
1   ...   15   16   17   18   19   20   21   22   ...   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