Функције у Унику - Различите врсте функција у Унику са синтаксом

Преглед садржаја:

Anonim

Увод у функције у Уник-у

У овом чланку ћемо сазнати о неким основним функцијама у Уник-у. Многи од нас су већ могли знати које су функције, али допустите ми да укратко објасним о томе. Функција садржи скуп упутстава која се извршавају кодом написаним унутар разведеног блока. Они су корисни када имамо одређени задатак који програм мора обављати више пута у правилним интервалима. Писање истог кода сваки пут се очигледно не препоручује, тако да помоћу функција лако можемо поново користити код и позивати га кад год је потребно. Да видимо сада како можемо дефинисати и имплементирати ове функције путем скрипта скрипта Уник.

Синтакса функција у Унику

Стварање функција прати основни синтаксни код на следећи начин. Пример примера функције.

Код

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

Овде смо написали две изјаве одјека унутар наше Прве функције. За позивање функције можемо само назвати именом функције.

Излаз

Преношење параметара у функцију у Унику

Успешно смо направили једноставну функцију, назвали је и извршили наредбе које смо тражили. Шта ако морам да додам два броја кроз вредности које уносе корисници? Дакле, овде бисмо видели како можемо написати функцију аргументима. Основна синтакса била би иста. Пример параметризоване функције

Код

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

Излаз

То ће нас затражити да унесемо име и пожелемо их

На исти начин можемо чак и да створимо датотеку скрипта. Напишимо функцију за додавање унутар скрипте љуске и погледајмо како она функционише.

Код

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!

Излаз

Напомена: Понекад приликом извршавања скрипте сх можемо добити грешку као:

Једино што овде треба учинити је ажурирањем дозвола за датотеке.

Чак можемо извршити сх датотеку користећи команду. /адд.сх

На исти начин чак можемо и извршити функцију пружањем аргумената наредбене линије. Па, да видимо како то можемо урадити додавањем три броја.

Код

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

Сада можемо да пренесемо наше бројеве као аргументе командне линије и онда добијемо потребан излаз.

Шта ако не пренесемо никакве аргументе у функцију?

А, ако дамо само два аргумента?

Иначе, можемо ли прећи жице?

Чак можемо да имамо наш код на такав начин да може да одјекне грешка када се пренесу неважећи аргументи. Испод овдје, погледајмо како можемо тражити од корисника да унесе аргументе ако није било аргумената наредбене линије.

Код

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

Излаз

Ако не пренесемо никакве аргументе нашој Функцији, она даје одјек тамо где смо тражили да дамо два броја командне линије, а затим да дамо излаз зброја. То се и догађа, јер нисмо рекли да се функција заустави ако наиђемо на грешку. У другом случају можемо видети како резултат даје одговарајућу суму, без икаквог посредног одјека. Чак можемо да користимо и наредбе за повратак у враћању вредности за ове Уник функције. Вредност у изјави за повраћај се чува у $?

Излаз

Можете ли покушати да напишете функцију која се распада ако не пренесемо аргументе?

Уграђене функције у Унику

Именовањем можемо схватити да се унесене функције односе на дефинисање функције унутар функције. Да видимо како сада то можемо. Ово пишемо унутар скрипте за љуске ради лакшег разумевања.

Код

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!

Излаз

У горњем примеру смо управо назвали другу функцију унутар прве. Сада напишемо функцију само унутар прве функције.

Код

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!

Који производ очекујете? Мислите ли да ће бити приказани и детаљи прве и друге функције?

Излаз

Јасно можемо видети да функција није позвала унутрашњу функцију у њој. Па, шта је овде проблем?

Унутар нашег сценарија, позвали смо само прву функцију. Сада покушајте и позивањем друге функције. Као што је запажено, овде нећемо бити у могућности да сами зовемо функцију. У горе наведеном коду истакли смо додани код.

Излаз

Примјетите да је одјек који смо написали након извршења Друге функције дошао пред себе. Ако покусамо прво назвати другу функцију, а затим прву?

Излаз

Јасно можемо да разумемо да док се главна / прва функција не назове унутрашња функција се не позива. Да ли можете да покушате да додате два броја користећи угнијежђене функције? (Један за унос корисничких вредности, а други за додавање бројева)

Закључак

Дакле, на овај начин можемо дефинисати Функције у Унику. И једна од главних предности у Унику коју сам утврдио је да се грешка у исходу може лако разумети и да може помоћи да исправно исправимо наш код. Покушајте да извршите те функције и такође користите наредбу ретурн. Срећно учите у Унику.

Препоручени чланак

Ово је водич за функције у Унику. Овде смо расправљали о уводу у Функције у Унику и различитим врстама функција, заједно са синтаксом и детаљним објашњењем. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Уник архитектура
  2. Уник команде
  3. Употребе Уника
  4. УНИКС питања за интервју
  5. Водич за Уник операторе