Функції в Unix - Різні типи функцій в Unix із синтаксисом

Зміст:

Anonim

Вступ до функцій в Unix

У цій статті ми дізнаємось про деякі основні функції в Unix. Багато хто з нас, можливо, вже знали, що таке функції, але дозвольте коротко ознайомитись з цим. Функція містить набір інструкцій, що виконуються кодом, написаним всередині відступного блоку. Вони корисні, коли у нас є певне завдання, яке програма повинна виконувати повторно протягом регулярних інтервалів часу. Писати один і той же код кожного разу, очевидно, не рекомендується, тому, використовуючи функції, ми можемо легко використовувати код і викликати його, коли це потрібно. Давайте тепер подивимося, як ми можемо визначити та реалізувати ці функції за допомогою сценарію Unix Shell.

Синтаксис функцій в Unix

Створення функцій відбувається за базовим кодом синтаксису наступним чином. Приклад прикладу функції.

Код

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

Ось, ми написали два ехо-заяви у нашій першій функції. Для виклику Функції ми можемо просто зателефонувати за ім'ям Функції.

Вихід

Передача параметрів до функції в Unix

Ми успішно зробили просту функцію, назвали її і виконали потрібні нам команди. Що робити, якщо мені потрібно додати два числа через введені користувачем значення? Отже, тут ми побачили б, як ми можемо записати функцію з аргументами. Основний синтаксис був би таким самим. Приклад параметризованої функції

Код

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!

Вихід

Примітка. Іноді під час виконання скрипту sh ми можемо отримати помилку як:

Тут потрібно зробити лише оновлення дозволів на файли.

Ми навіть можемо виконати файл sh за допомогою команди. /add.sh

Таким же чином ми можемо навіть виконати функцію, надавши аргументи командного рядка. Отже, давайте подивимося, як ми можемо це зробити, додавши три числа.

Код

(
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 “;
)

Вихід

Якщо ми не передаємо жодних аргументів нашій Функції, вона надає відлуння, де ми попросили дати два номера командного рядка, а потім дати вихід суми. Це робиться так, як ми не сказали Функції припинятися, якщо ми стикаємося з помилкою. У другому випадку ми можемо побачити належну суму, що дає суму, без проміжного відлуння. Ми навіть можемо використовувати команди повернення для повернення значень для цих функцій Unix. Значення в операторі return повертається в $?

Вихід

Як вправу ви можете спробувати написати функцію, яка вибухне, якщо ми не передамо аргументи?

Вкладені функції в Unix

Називаючи, ми можемо з'ясувати, що вкладені функції - це визначення функції всередині функції. Подивимось, як ми можемо це зробити зараз. Ми пишемо це всередині сценарію оболонки для легшого розуміння.

Код

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!

Тепер, який вихід ви очікуєте? Як ви думаєте, відображатимуться обидві деталі першої та другої функцій?

Вихід

Ми можемо чітко бачити, що Функція не викликала внутрішньої функції всередині неї. Отже, у чому тут проблема?

Всередині нашого сценарію ми назвали лише першу функцію. Тепер спробуйте зателефонувати і до другої функції. Як було помічено, тут ми не зможемо викликати Функцію сама по собі. У наведеному вище коді ми виділили доданий код.

Вихід

Зауважте, що відлуння, яке ми написали після виконання Другої функції, прийшло до себе. Тепер, якщо ми спробуємо спочатку викликати другу Функцію, а потім Першу?

Вихід

Ми можемо чітко зрозуміти, що поки не буде названа головна / перша Функція, внутрішня функція не викликається. Як вправу ви можете спробувати додати два числа за допомогою вкладених функцій? (Один для введення значень користувача та інші для додавання чисел)

Висновок

Отже, саме так ми можемо визначити Функції в Unix. І однією з головних переваг в Unix, яку я знайшов, була помилка у виході, яку можна легко зрозуміти, і це може допомогти виправити наш код відповідно. Спробуйте виконати ці функції і скористайтесь командою return. Приємно вчитися в Unix.

Рекомендована стаття

Це було керівництвом щодо функцій в Unix. Тут ми обговорюємо вступ до функцій в Unix та різних типів функції разом із синтаксисом та поясненням деталей. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Unix Архітектура
  2. Команди Unix
  3. Використання Unix
  4. Питання для інтерв'ю UNIX
  5. Посібник для операторів Unix