Funkciók az Unix-ban - Különböző típusú funkciók az Unixben a szintaxissal

Tartalomjegyzék:

Anonim

Bevezetés a Unix funkcióiba

Ebben a cikkben megismerjük az Unix néhány alapvető funkcióját. Talán sokunk már tudta, hogy mi a funkció, de hadd röviden ismertessem ezt. A Function utasítások sorozatát tartalmazza, amelyeket egy behúzott blokkba írt kóddal kell végrehajtani. Ezek akkor hasznosak, ha van egy bizonyos feladatunk, amelyet egy programnak többször meg kell tennie rendszeres időközönként. Nyilvánvalóan nem ajánlott ugyanannak a kódnak az írása minden alkalommal, így a funkciók használatával könnyen újra felhasználhatjuk a kódot, és szükség esetén meghívhatjuk. Most nézzük meg, hogyan lehet ezeket a funkciókat meghatározni és megvalósítani az Unix Shell szkriptjein keresztül.

Funkciók szintaxisa az Unix-ban

A Funkciók létrehozása az alap szintaxis kódot követi, az alábbiak szerint. Példa egy funkcióra.

Kód

First()
(
echo “ First Program for defining functions ”;
echo “ Yayyy! “;
)

Itt két visszhangnyilatkozatot írtunk az első funkciónkba. A Funkció hívásához csak a Funkció neve alapján hívhatunk.

Kimenet

Paraméterek átadása a Unix működéséhez

Sikeresen elkészítettük egy egyszerű Funkciót, meghívtuk és végrehajtottuk a szükséges parancsokat. Mi van, ha két számot kell hozzáadnom a felhasználó által megadott értékekkel? Tehát itt láthatnánk, hogyan lehet függvényt írni argumentumokkal. Az alapszintaxis ugyanaz lenne. Példa a paraméterezett funkcióra

Kód

Second()
(
echo “Enter your name: “;
read name;
echo “Hi $name, have a good day”;
)

Kimenet

Ez arra kéri minket, hogy írjunk be egy nevet, és kívánunk nekik

Ugyanígy, akár szkriptfájlt is létrehozhatunk. Írjunk egy kiegészítő függvényt egy shell parancsfájlba és nézzük meg, hogyan működik.

Kód

vi add.sh
echo “enter first number: “;
read a;
echo “enter the second number: “;
read b;
sum=$((a+b));
echo “ Result is $sum”;
*********************
Save the file with : wq!

Kimenet

Megjegyzés: Az sh szkript végrehajtásakor a következőképpen kaphatunk hibát:

Itt csak a fájl engedélyek frissítésével kell tennie.

Még végrehajthatjuk az sh fájlt is a. Paranccsal. /add.sh

Ugyanígy még egy függvényt is végrehajthatunk parancssori argumentumok megadásával. Tehát lássuk, hogyan lehet ezt megtenni három szám összeadásával.

Kód

(
number1=$1;
number2=$2;
number3=$3;
sum=$((number1+number2+number3));
echo “Sum is $sum”;
)

Most átadhatjuk számokat parancssori argumentumként, majd megkaphatjuk a szükséges kimenetet.

Mi van, ha nem adunk semmilyen érvet a Funkciónak?

És ha csak két érvet adunk?

Egyébként átadhatjuk a húrokat?

Még akkor is rendelkezhetünk a kódunkkal, hogy hibát visszatarthat, ha érvénytelen argumentumok kerülnek átadásra. Az alábbiakban nézzük meg, hogyan kérhetjük a felhasználót argumentumok megadására, ha nem kerültek átadásra parancssori argumentumok.

Kód

Add()
(
number1=$1;
number2=$2;
if ( $# -ne 2 ); then
echo “ Enter two numbers to add “;
fi
sum=$((number1+number2));
echo “ Sum is : $sum “;
)

Kimenet

Ha nem adunk semmilyen érvet a függvényünknek, akkor visszhangunk lesz, ahol két parancssori szám megadását kértük, majd az összeg kiadását. Ezt meg is teszi, mivel nem mondtuk a Function-nak, hogy álljon le, ha hibát tapasztalunk. A második esetben a kimenetet megfelelő módon láthatjuk, közbenső visszhang nélkül. Még a visszatérési parancsokat is felhasználhatjuk ezeknek az Unix függvényeknek az értékeinek visszaadására. A visszatérési nyilatkozatban szereplő értéket dollárban tárolja?

Kimenet

Gyakorlatként megpróbálhatsz olyan funkciót írni, amely akkor bontakozik ki, ha nem adjuk át az érveket?

Beágyazott funkciók az Unix-ban

A nevekkel kitalálhatjuk, hogy a beágyazott függvények egy függvény meghatározására vonatkoznak egy függvényen belül. Lássuk, hogyan tehetjük ezt most. Ezt a shell parancsfájlba írjuk az egyszerűbb megértés érdekében.

Kód

vi Nested_Function.sh
***** Code Inside the sh Function*******
#!/bin/sh
First()
(
echo “ Inside First Function “;
echo “ Calling the second function below “;
echo “**********”;
Second
echo “**********”;
echo “ After calling Second function “;
)
Second()
(
echo “ Inside Second Function”;
echo “ Done “;
)
First
************************
Save the file with : wq!

Kimenet

A fenti példában csak az első belső funkciót hívtuk. Írjunk most egy függvényt csak az első függvényben.

Kód

vi Nest_Func1.sh
***** Code Inside the sh Function*******
First_One()
(
echo “ Inside the function First_One”;
echo “ Below is the inner function “;
Second_One()
(
echo “ ********** “;
echo “ Inside Inner function”;
echo “ Completed Second Function”;
echo “ ********** “;
)
echo “Done with second example too”;
)
First_One
Second_one
************************
Save the file with : wq!

Nos, milyen outputra számít? Gondolod, hogy az első és a második funkció részletei is megjelennek?

Kimenet

Világosan láthatjuk, hogy a Funkció nem hívta meg a benne levő belső funkciót. Szóval mi a probléma itt?

A szkriptünkben csak az első Function-t hívtuk. Most próbálja meg felhívni a második Funkciót is. Amint azt megfigyeltük, itt nem leszünk képesek önmagában meghívni a Funkciót. A fenti kódban kiemeltük a hozzáadott kódot.

Kimenet

Vegye figyelembe, hogy a visszhang, amelyet a második függvény végrehajtása után írtunk, önmagában lépett előtte. Ha most megpróbáljuk először hívni a második Funkciót, majd az elsőt?

Kimenet

Világosan megérthetjük, hogy amíg a fő / első funkciót nem nevezik, a belső funkciót nem hívják. Gyakorlatként kipróbálhatja két szám hozzáadását a beágyazott függvények segítségével? (Az egyik felhasználói értékek beviteléhez, mások a számok hozzáadásához)

Következtetés

Tehát így határozhatjuk meg a függvényeket az Unix-ban. Az Unix egyik fő előnye, amit találtam, az volt, hogy a kimenet hibája könnyen érthető, és segíthet a kód ennek megfelelő kijavításában. Próbálja meg végrehajtani ezeket a függvényeket, és használja a return parancsot is. Jó tanulást élvezhet a Unix-ban.

Ajánlott cikk

Ez egy útmutató a Funkciókhoz az Unix-ban. Itt tárgyaljuk az Unix Funkcióinak bevezetését és a különféle típusú funkciókat, valamint a szintaxist és a részletek magyarázatát. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Unix építészet
  2. Unix parancsok
  3. A Unix felhasználása
  4. UNIX interjúkérdések
  5. Útmutató az Unix operátorokhoz