Shell — це інтерфейс операційної системи. Він приймає команди від користувачів і інтерпретує їх операційній системі. Якщо ви хочете виконувати кілька команд разом, ви можете зробити це, створивши сценарій оболонки. Сценарії оболонки дуже корисні, якщо вам потрібно регулярно виконувати завдання, наприклад, створювати резервну копію. Ви можете перелічити ці команди та виконати їх усі за допомогою лише одного сценарію. Давайте подивимося, як ви можете створити сценарій оболонки та запустити його в Linux.
Створення сценарію оболонки
Увійдіть у свою машину Linux і відкрийте термінал, перейдіть до папки, де ви хочете зберегти сценарій оболонки. Сценарії оболонки закінчуються розширенням .sh. Давайте створимо наш перший сценарій оболонки. Введіть
touch script.sh>
Тепер цей файл сценарію не є виконуваним за замовчуванням, ми повинні надати дозвіл на виконання цього файлу. Введіть
chmod +x script.sh>
Тепер ми додамо кілька команд до цього сценарію оболонки. Відкрийте цей сценарій оболонки за допомогою будь-якого текстового редактора на ваш вибір (на основі командного рядка чи GUI) і додайте кілька команд. Ми будемо використовувати нано. Введіть
nano script.sh>
Додайте наступні команди, щоб перевірити цей сценарій оболонки
echo This is my first shell script touch testfile ls echo End of my shell script>
Збережіть зміни та запустіть сценарій оболонки, ввівши in
./script.sh>

Скріншот вищезазначених кроків
Ви бачите, він виконав усі вказані команди.
Коментарі в сценарії оболонки
Будь-який рядок, що починається з # у сценарії оболонки, розглядається як коментар і ігнорується оболонкою під час виконання, за винятком рядка shebang, який ми побачимо пізніше в цій статті. Давайте подивимося на приклад. Сценарій оболонки створюється з таким вмістом.
# This is a comment echo Testing comments in shell script>

Коментарі в Shell Script
Ви бачите, коментар ігнорується.
Змінні в Shell Script
Так, сценарії Shell підтримують використання змінних, і нам не потрібно визначати тип змінної під час її оголошення. Є два типи змінних:
рядок у масиві в c
- Визначені системою змінні
- Визначені користувачем змінні.
Визначені системою змінні, також звані змінними середовища, зазвичай пишуться з великої літери. Ви можете переглянути всі поточні змінні середовища за допомогою команди printenv. Визначені користувачем змінні встановлюються користувачем і існують лише під час виконання сценарію. Ви можете визначити змінну, просто ввівши її назву та присвоївши значення зі знаком =, і отримати доступ до змінної, додавши $ перед назвою змінної. Змінні демонструються в наступному прикладі сценарію.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Змінні в Shell Script
c програми
Визначення інтерпретатора Shell Script
У Linux доступно багато оболонок, наприклад The bourne shell(sh), The Korn Shell(ksh) і GNU Bourne-Again Shell(bash). Сценарії, написані для оболонки sh, називаються сценаріями оболонки, і їх можна інтерпретувати як оболонками ksh, так і bash. ksh і Bash є вдосконаленими версіями оригінальної оболонки sh і мають більше функцій, ніж sh. Bash зазвичай є оболонкою за замовчуванням у більшості дистрибутивів Linux, а сценарії, написані спеціально для оболонки bash, називаються сценаріями bash.
Ви можете вказати, яку оболонку використовуватиме сценарій, навіть якщо сценарій виконується з іншого терміналу оболонки. Для цього додайте #! поверх файлу сценарію, а потім абсолютний шлях вибраної оболонки. Щоб указати bash як інтерпретатор, додайте наступний рядок поверх сценарію оболонки.
#!/bin/bash>
Ця лінія називається лінією шибанг.
Примітка: Це працюватиме, лише якщо у вашій системі встановлено bash.
Оператори порівняння
Ви можете порівняти дві змінні в сценаріях оболонки. Ми робимо ці порівняння, щоб приймати рішення, ми побачимо, як це зробити пізніше в цій статті, але перед цим ось список деяких операторів порівняння.
Цілочисельне порівняння
| Оператор | опис |
| -екв | дорівнює |
| - є | не дорівнює |
| -gt | більше ніж |
| -ge | більше або дорівнює |
| -л | менше ніж |
| -the | менше або дорівнює |
Порівняння рядків
| Оператор | опис |
| == | дорівнює |
| != | не дорівнює |
| < | менше ніж, в алфавітному порядку ASCII |
| > | більше за, в алфавітному порядку ASCII |
Ми додаємо перед тим, що їх потрібно екранувати при введенні в конструкцію [ ]. Тепер давайте подивимося, де вони використовуються.
Умовні твердження
Умовні оператори використовуються для виконання блоку коду лише тоді, коли виконуються певні умови. Сценарії оболонки підтримують використання умовних операторів. Ми використовуємо оператори порівняння для перевірки умов. Давайте розглянемо кілька умовних тверджень.
Оператор If
Він перевіряє умову і, якщо умова справджується, виконує команди.
Синтаксис
if [ condition ] then #statements fi>
Давайте подивимося на приклад.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if оператор
Інструкція if-else
У операторі if-else ви можете вказати набір команд для виконання, якщо умова не виконується.
Синтаксис
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Давайте подивимося на приклад
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else оператор
Є й інші умовні твердження, ви можете прочитати про них тут .
Примітка: Введіть пробіл після [ і перед ], вказуючи умову, яку потрібно перевірити, інакше ви отримаєте помилку.
Петлі
Використовуючи цикли, ви можете вводити набір команд знову і знову, доки не буде виконано певну умову. Давайте подивимося на деякі з петель.
Цикл while
Він починає виконувати вказані команди, якщо умова виконується, і повторює їх, доки умова не стане хибною.
Синтаксис
while [ condition ] do #set of statements done>
Давайте подивимося на приклад.
java відкриває файл
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Цикл while
Ми вкладаємо оператор виразу в ` `, коли призначаємо його змінній. Ви можете прочитати про команду expr тут.
Для петлі
У циклі for змінна повторює список значень і завершується, коли більше немає значень для повторення.
Синтаксис
for var in val1 val2 val3 do #statements done>
Давайте подивимося на приклад.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

для циклу
Ви можете прочитати про петлі докладно тут .
Позиційні аргументи
Позиційні аргументи — це аргументи або значення, які ми передаємо сценарію оболонки під час виконання сценарію. Доступ до них здійснюється через змінні Shell — це інтерфейс операційної системи. Він приймає команди від користувачів і інтерпретує їх операційній системі. Якщо ви хочете виконувати кілька команд разом, ви можете зробити це, створивши сценарій оболонки. Сценарії оболонки дуже корисні, якщо вам потрібно регулярно виконувати завдання, наприклад, створювати резервну копію. Ви можете перелічити ці команди та виконати їх усі за допомогою лише одного сценарію. Давайте подивимося, як ви можете створити сценарій оболонки та запустити його в Linux.
Створення сценарію оболонки
Увійдіть у свою машину Linux і відкрийте термінал, перейдіть до папки, де ви хочете зберегти сценарій оболонки. Сценарії оболонки закінчуються розширенням .sh. Давайте створимо наш перший сценарій оболонки. Введіть
touch script.sh>
Тепер цей файл сценарію не є виконуваним за замовчуванням, ми повинні надати дозвіл на виконання цього файлу. Введіть
chmod +x script.sh>
Тепер ми додамо кілька команд до цього сценарію оболонки. Відкрийте цей сценарій оболонки за допомогою будь-якого текстового редактора на ваш вибір (на основі командного рядка чи GUI) і додайте кілька команд. Ми будемо використовувати нано. Введіть
nano script.sh>
Додайте наступні команди, щоб перевірити цей сценарій оболонки
echo This is my first shell script touch testfile ls echo End of my shell script>
Збережіть зміни та запустіть сценарій оболонки, ввівши in
./script.sh>

Скріншот вищезазначених кроків
Ви бачите, він виконав усі вказані команди.
Коментарі в сценарії оболонки
Будь-який рядок, що починається з # у сценарії оболонки, розглядається як коментар і ігнорується оболонкою під час виконання, за винятком рядка shebang, який ми побачимо пізніше в цій статті. Давайте подивимося на приклад. Сценарій оболонки створюється з таким вмістом.
# This is a comment echo Testing comments in shell script>

Коментарі в Shell Script
Ви бачите, коментар ігнорується.
Змінні в Shell Script
Так, сценарії Shell підтримують використання змінних, і нам не потрібно визначати тип змінної під час її оголошення. Є два типи змінних:
- Визначені системою змінні
- Визначені користувачем змінні.
Визначені системою змінні, також звані змінними середовища, зазвичай пишуться з великої літери. Ви можете переглянути всі поточні змінні середовища за допомогою команди printenv. Визначені користувачем змінні встановлюються користувачем і існують лише під час виконання сценарію. Ви можете визначити змінну, просто ввівши її назву та присвоївши значення зі знаком =, і отримати доступ до змінної, додавши $ перед назвою змінної. Змінні демонструються в наступному прикладі сценарію.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Змінні в Shell Script
Визначення інтерпретатора Shell Script
У Linux доступно багато оболонок, наприклад The bourne shell(sh), The Korn Shell(ksh) і GNU Bourne-Again Shell(bash). Сценарії, написані для оболонки sh, називаються сценаріями оболонки, і їх можна інтерпретувати як оболонками ksh, так і bash. ksh і Bash є вдосконаленими версіями оригінальної оболонки sh і мають більше функцій, ніж sh. Bash зазвичай є оболонкою за замовчуванням у більшості дистрибутивів Linux, а сценарії, написані спеціально для оболонки bash, називаються сценаріями bash.
Ви можете вказати, яку оболонку використовуватиме сценарій, навіть якщо сценарій виконується з іншого терміналу оболонки. Для цього додайте #! поверх файлу сценарію, а потім абсолютний шлях вибраної оболонки. Щоб указати bash як інтерпретатор, додайте наступний рядок поверх сценарію оболонки.
#!/bin/bash>
Ця лінія називається лінією шибанг.
Примітка: Це працюватиме, лише якщо у вашій системі встановлено bash.
Оператори порівняння
Ви можете порівняти дві змінні в сценаріях оболонки. Ми робимо ці порівняння, щоб приймати рішення, ми побачимо, як це зробити пізніше в цій статті, але перед цим ось список деяких операторів порівняння.
Цілочисельне порівняння
| Оператор | опис |
| -екв | дорівнює |
| - є | не дорівнює |
| -gt | більше ніж |
| -ge | більше або дорівнює |
| -л | менше ніж |
| -the | менше або дорівнює |
Порівняння рядків
| Оператор | опис |
| == | дорівнює |
| != | не дорівнює |
| < | менше ніж, в алфавітному порядку ASCII |
| > | більше за, в алфавітному порядку ASCII |
Ми додаємо перед тим, що їх потрібно екранувати при введенні в конструкцію [ ]. Тепер давайте подивимося, де вони використовуються.
Умовні твердження
Умовні оператори використовуються для виконання блоку коду лише тоді, коли виконуються певні умови. Сценарії оболонки підтримують використання умовних операторів. Ми використовуємо оператори порівняння для перевірки умов. Давайте розглянемо кілька умовних тверджень.
Оператор If
Він перевіряє умову і, якщо умова справджується, виконує команди.
Синтаксис
if [ condition ] then #statements fi>
Давайте подивимося на приклад.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if оператор
Інструкція if-else
У операторі if-else ви можете вказати набір команд для виконання, якщо умова не виконується.
Синтаксис
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Давайте подивимося на приклад
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else оператор
Є й інші умовні твердження, ви можете прочитати про них тут .
Примітка: Введіть пробіл після [ і перед ], вказуючи умову, яку потрібно перевірити, інакше ви отримаєте помилку.
Петлі
Використовуючи цикли, ви можете вводити набір команд знову і знову, доки не буде виконано певну умову. Давайте подивимося на деякі з петель.
Цикл while
Він починає виконувати вказані команди, якщо умова виконується, і повторює їх, доки умова не стане хибною.
Синтаксис
while [ condition ] do #set of statements done>
Давайте подивимося на приклад.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Цикл while
Ми вкладаємо оператор виразу в ` `, коли призначаємо його змінній. Ви можете прочитати про команду expr тут.
Для петлі
У циклі for змінна повторює список значень і завершується, коли більше немає значень для повторення.
Синтаксис
for var in val1 val2 val3 do #statements done>
Давайте подивимося на приклад.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

для циклу
Ви можете прочитати про петлі докладно тут .
Позиційні аргументи
Позиційні аргументи — це аргументи або значення, які ми передаємо сценарію оболонки під час виконання сценарію. Доступ до них здійснюється через змінні $0, $1, $2 … $9. Крім того, на них посилаються ${10}, ${11} і так далі. $# зберігає кількість переданих аргументів, а $0 зберігає назву сценарію. Давайте розглянемо приклад, щоб зрозуміти все це.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Щоб передати аргументи, просто введіть їх у терміналі після назви сценарію, як показано нижче.

Позиційні аргументи
Зберігання результатів команд
Ви можете зберігати вихідні дані команд у змінній у сценарії оболонки. Для цього є два способи.
Синтаксис
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Давайте подивимося на приклад.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Зберігання результатів команд
Коди виходу команд оболонки
Кожного разу, коли команда завершується і повертає керування батьківському процесу, вона повертає коди виходу від 0 до 255. Код виходу 0 означає, що команда виконана успішно, а будь-який інший код виходу означає, що команда була невдалою. Ви можете переглянути код виходу після виконання будь-якої команди за допомогою $? змінна. Дивіться приклад нижче.

код виходу команди оболонки
Ви можете вручну встановити код виходу для сценарію оболонки. Це можна використовувати з умовними операторами, щоб передати, чи було досягнуто мети сценарію чи ні.
приклад
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

код виходу команди оболонки
, , … . Крім того, на них посилаються , і так далі. $# зберігає кількість переданих аргументів, а
Shell — це інтерфейс операційної системи. Він приймає команди від користувачів і інтерпретує їх операційній системі. Якщо ви хочете виконувати кілька команд разом, ви можете зробити це, створивши сценарій оболонки. Сценарії оболонки дуже корисні, якщо вам потрібно регулярно виконувати завдання, наприклад, створювати резервну копію. Ви можете перелічити ці команди та виконати їх усі за допомогою лише одного сценарію. Давайте подивимося, як ви можете створити сценарій оболонки та запустити його в Linux.
Створення сценарію оболонки
Увійдіть у свою машину Linux і відкрийте термінал, перейдіть до папки, де ви хочете зберегти сценарій оболонки. Сценарії оболонки закінчуються розширенням .sh. Давайте створимо наш перший сценарій оболонки. Введіть
touch script.sh>
Тепер цей файл сценарію не є виконуваним за замовчуванням, ми повинні надати дозвіл на виконання цього файлу. Введіть
chmod +x script.sh>
Тепер ми додамо кілька команд до цього сценарію оболонки. Відкрийте цей сценарій оболонки за допомогою будь-якого текстового редактора на ваш вибір (на основі командного рядка чи GUI) і додайте кілька команд. Ми будемо використовувати нано. Введіть
nano script.sh>
Додайте наступні команди, щоб перевірити цей сценарій оболонки
echo This is my first shell script touch testfile ls echo End of my shell script>
Збережіть зміни та запустіть сценарій оболонки, ввівши in
./script.sh>

Скріншот вищезазначених кроків
Ви бачите, він виконав усі вказані команди.
Коментарі в сценарії оболонки
Будь-який рядок, що починається з # у сценарії оболонки, розглядається як коментар і ігнорується оболонкою під час виконання, за винятком рядка shebang, який ми побачимо пізніше в цій статті. Давайте подивимося на приклад. Сценарій оболонки створюється з таким вмістом.
# This is a comment echo Testing comments in shell script>

Коментарі в Shell Script
Ви бачите, коментар ігнорується.
Змінні в Shell Script
Так, сценарії Shell підтримують використання змінних, і нам не потрібно визначати тип змінної під час її оголошення. Є два типи змінних:
- Визначені системою змінні
- Визначені користувачем змінні.
Визначені системою змінні, також звані змінними середовища, зазвичай пишуться з великої літери. Ви можете переглянути всі поточні змінні середовища за допомогою команди printenv. Визначені користувачем змінні встановлюються користувачем і існують лише під час виконання сценарію. Ви можете визначити змінну, просто ввівши її назву та присвоївши значення зі знаком =, і отримати доступ до змінної, додавши $ перед назвою змінної. Змінні демонструються в наступному прикладі сценарію.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Змінні в Shell Script
Визначення інтерпретатора Shell Script
У Linux доступно багато оболонок, наприклад The bourne shell(sh), The Korn Shell(ksh) і GNU Bourne-Again Shell(bash). Сценарії, написані для оболонки sh, називаються сценаріями оболонки, і їх можна інтерпретувати як оболонками ksh, так і bash. ksh і Bash є вдосконаленими версіями оригінальної оболонки sh і мають більше функцій, ніж sh. Bash зазвичай є оболонкою за замовчуванням у більшості дистрибутивів Linux, а сценарії, написані спеціально для оболонки bash, називаються сценаріями bash.
Ви можете вказати, яку оболонку використовуватиме сценарій, навіть якщо сценарій виконується з іншого терміналу оболонки. Для цього додайте #! поверх файлу сценарію, а потім абсолютний шлях вибраної оболонки. Щоб указати bash як інтерпретатор, додайте наступний рядок поверх сценарію оболонки.
#!/bin/bash>
Ця лінія називається лінією шибанг.
Примітка: Це працюватиме, лише якщо у вашій системі встановлено bash.
Оператори порівняння
Ви можете порівняти дві змінні в сценаріях оболонки. Ми робимо ці порівняння, щоб приймати рішення, ми побачимо, як це зробити пізніше в цій статті, але перед цим ось список деяких операторів порівняння.
Цілочисельне порівняння
| Оператор | опис |
| -екв | дорівнює |
| - є | не дорівнює |
| -gt | більше ніж |
| -ge | більше або дорівнює |
| -л | менше ніж |
| -the | менше або дорівнює |
Порівняння рядків
| Оператор | опис |
| == | дорівнює |
| != | не дорівнює |
| < | менше ніж, в алфавітному порядку ASCII |
| > | більше за, в алфавітному порядку ASCII |
Ми додаємо перед тим, що їх потрібно екранувати при введенні в конструкцію [ ]. Тепер давайте подивимося, де вони використовуються.
Умовні твердження
Умовні оператори використовуються для виконання блоку коду лише тоді, коли виконуються певні умови. Сценарії оболонки підтримують використання умовних операторів. Ми використовуємо оператори порівняння для перевірки умов. Давайте розглянемо кілька умовних тверджень.
Оператор If
Він перевіряє умову і, якщо умова справджується, виконує команди.
Синтаксис
if [ condition ] then #statements fi>
Давайте подивимося на приклад.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if оператор
Інструкція if-else
У операторі if-else ви можете вказати набір команд для виконання, якщо умова не виконується.
Синтаксис
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Давайте подивимося на приклад
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else оператор
Є й інші умовні твердження, ви можете прочитати про них тут .
Примітка: Введіть пробіл після [ і перед ], вказуючи умову, яку потрібно перевірити, інакше ви отримаєте помилку.
Петлі
Використовуючи цикли, ви можете вводити набір команд знову і знову, доки не буде виконано певну умову. Давайте подивимося на деякі з петель.
Цикл while
Він починає виконувати вказані команди, якщо умова виконується, і повторює їх, доки умова не стане хибною.
Синтаксис
while [ condition ] do #set of statements done>
Давайте подивимося на приклад.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Цикл while
Ми вкладаємо оператор виразу в ` `, коли призначаємо його змінній. Ви можете прочитати про команду expr тут.
Для петлі
У циклі for змінна повторює список значень і завершується, коли більше немає значень для повторення.
Синтаксис
for var in val1 val2 val3 do #statements done>
Давайте подивимося на приклад.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

для циклу
Ви можете прочитати про петлі докладно тут .
Позиційні аргументи
Позиційні аргументи — це аргументи або значення, які ми передаємо сценарію оболонки під час виконання сценарію. Доступ до них здійснюється через змінні $0, $1, $2 … $9. Крім того, на них посилаються ${10}, ${11} і так далі. $# зберігає кількість переданих аргументів, а $0 зберігає назву сценарію. Давайте розглянемо приклад, щоб зрозуміти все це.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Щоб передати аргументи, просто введіть їх у терміналі після назви сценарію, як показано нижче.

Позиційні аргументи
Зберігання результатів команд
Ви можете зберігати вихідні дані команд у змінній у сценарії оболонки. Для цього є два способи.
Синтаксис
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Давайте подивимося на приклад.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Зберігання результатів команд
Коди виходу команд оболонки
Кожного разу, коли команда завершується і повертає керування батьківському процесу, вона повертає коди виходу від 0 до 255. Код виходу 0 означає, що команда виконана успішно, а будь-який інший код виходу означає, що команда була невдалою. Ви можете переглянути код виходу після виконання будь-якої команди за допомогою $? змінна. Дивіться приклад нижче.

код виходу команди оболонки
Ви можете вручну встановити код виходу для сценарію оболонки. Це можна використовувати з умовними операторами, щоб передати, чи було досягнуто мети сценарію чи ні.
приклад
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

код виходу команди оболонки
зберігає назву сценарію. Давайте розглянемо приклад, щоб зрозуміти все це.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is Shell — це інтерфейс операційної системи. Він приймає команди від користувачів і інтерпретує їх операційній системі. Якщо ви хочете виконувати кілька команд разом, ви можете зробити це, створивши сценарій оболонки. Сценарії оболонки дуже корисні, якщо вам потрібно регулярно виконувати завдання, наприклад, створювати резервну копію. Ви можете перелічити ці команди та виконати їх усі за допомогою лише одного сценарію. Давайте подивимося, як ви можете створити сценарій оболонки та запустити його в Linux.
Створення сценарію оболонки
Увійдіть у свою машину Linux і відкрийте термінал, перейдіть до папки, де ви хочете зберегти сценарій оболонки. Сценарії оболонки закінчуються розширенням .sh. Давайте створимо наш перший сценарій оболонки. Введіть
touch script.sh>
Тепер цей файл сценарію не є виконуваним за замовчуванням, ми повинні надати дозвіл на виконання цього файлу. Введіть
chmod +x script.sh>
Тепер ми додамо кілька команд до цього сценарію оболонки. Відкрийте цей сценарій оболонки за допомогою будь-якого текстового редактора на ваш вибір (на основі командного рядка чи GUI) і додайте кілька команд. Ми будемо використовувати нано. Введіть
nano script.sh>
Додайте наступні команди, щоб перевірити цей сценарій оболонки
echo This is my first shell script touch testfile ls echo End of my shell script>
Збережіть зміни та запустіть сценарій оболонки, ввівши in
./script.sh>

Скріншот вищезазначених кроків
Ви бачите, він виконав усі вказані команди.
Коментарі в сценарії оболонки
Будь-який рядок, що починається з # у сценарії оболонки, розглядається як коментар і ігнорується оболонкою під час виконання, за винятком рядка shebang, який ми побачимо пізніше в цій статті. Давайте подивимося на приклад. Сценарій оболонки створюється з таким вмістом.
# This is a comment echo Testing comments in shell script>

Коментарі в Shell Script
Ви бачите, коментар ігнорується.
Змінні в Shell Script
Так, сценарії Shell підтримують використання змінних, і нам не потрібно визначати тип змінної під час її оголошення. Є два типи змінних:
- Визначені системою змінні
- Визначені користувачем змінні.
Визначені системою змінні, також звані змінними середовища, зазвичай пишуться з великої літери. Ви можете переглянути всі поточні змінні середовища за допомогою команди printenv. Визначені користувачем змінні встановлюються користувачем і існують лише під час виконання сценарію. Ви можете визначити змінну, просто ввівши її назву та присвоївши значення зі знаком =, і отримати доступ до змінної, додавши $ перед назвою змінної. Змінні демонструються в наступному прикладі сценарію.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Змінні в Shell Script
Визначення інтерпретатора Shell Script
У Linux доступно багато оболонок, наприклад The bourne shell(sh), The Korn Shell(ksh) і GNU Bourne-Again Shell(bash). Сценарії, написані для оболонки sh, називаються сценаріями оболонки, і їх можна інтерпретувати як оболонками ksh, так і bash. ksh і Bash є вдосконаленими версіями оригінальної оболонки sh і мають більше функцій, ніж sh. Bash зазвичай є оболонкою за замовчуванням у більшості дистрибутивів Linux, а сценарії, написані спеціально для оболонки bash, називаються сценаріями bash.
Ви можете вказати, яку оболонку використовуватиме сценарій, навіть якщо сценарій виконується з іншого терміналу оболонки. Для цього додайте #! поверх файлу сценарію, а потім абсолютний шлях вибраної оболонки. Щоб указати bash як інтерпретатор, додайте наступний рядок поверх сценарію оболонки.
#!/bin/bash>
Ця лінія називається лінією шибанг.
Примітка: Це працюватиме, лише якщо у вашій системі встановлено bash.
Оператори порівняння
Ви можете порівняти дві змінні в сценаріях оболонки. Ми робимо ці порівняння, щоб приймати рішення, ми побачимо, як це зробити пізніше в цій статті, але перед цим ось список деяких операторів порівняння.
Цілочисельне порівняння
| Оператор | опис |
| -екв | дорівнює |
| - є | не дорівнює |
| -gt | більше ніж |
| -ge | більше або дорівнює |
| -л | менше ніж |
| -the | менше або дорівнює |
Порівняння рядків
| Оператор | опис |
| == | дорівнює |
| != | не дорівнює |
| < | менше ніж, в алфавітному порядку ASCII |
| > | більше за, в алфавітному порядку ASCII |
Ми додаємо перед тим, що їх потрібно екранувати при введенні в конструкцію [ ]. Тепер давайте подивимося, де вони використовуються.
Умовні твердження
Умовні оператори використовуються для виконання блоку коду лише тоді, коли виконуються певні умови. Сценарії оболонки підтримують використання умовних операторів. Ми використовуємо оператори порівняння для перевірки умов. Давайте розглянемо кілька умовних тверджень.
Оператор If
Він перевіряє умову і, якщо умова справджується, виконує команди.
Синтаксис
if [ condition ] then #statements fi>
Давайте подивимося на приклад.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if оператор
Інструкція if-else
У операторі if-else ви можете вказати набір команд для виконання, якщо умова не виконується.
Синтаксис
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Давайте подивимося на приклад
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else оператор
Є й інші умовні твердження, ви можете прочитати про них тут .
Примітка: Введіть пробіл після [ і перед ], вказуючи умову, яку потрібно перевірити, інакше ви отримаєте помилку.
Петлі
Використовуючи цикли, ви можете вводити набір команд знову і знову, доки не буде виконано певну умову. Давайте подивимося на деякі з петель.
Цикл while
Він починає виконувати вказані команди, якщо умова виконується, і повторює їх, доки умова не стане хибною.
Синтаксис
while [ condition ] do #set of statements done>
Давайте подивимося на приклад.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Цикл while
Ми вкладаємо оператор виразу в ` `, коли призначаємо його змінній. Ви можете прочитати про команду expr тут.
Для петлі
У циклі for змінна повторює список значень і завершується, коли більше немає значень для повторення.
Синтаксис
for var in val1 val2 val3 do #statements done>
Давайте подивимося на приклад.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

для циклу
Ви можете прочитати про петлі докладно тут .
Позиційні аргументи
Позиційні аргументи — це аргументи або значення, які ми передаємо сценарію оболонки під час виконання сценарію. Доступ до них здійснюється через змінні $0, $1, $2 … $9. Крім того, на них посилаються ${10}, ${11} і так далі. $# зберігає кількість переданих аргументів, а $0 зберігає назву сценарію. Давайте розглянемо приклад, щоб зрозуміти все це.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Щоб передати аргументи, просто введіть їх у терміналі після назви сценарію, як показано нижче.

Позиційні аргументи
Зберігання результатів команд
Ви можете зберігати вихідні дані команд у змінній у сценарії оболонки. Для цього є два способи.
Синтаксис
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Давайте подивимося на приклад.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Зберігання результатів команд
Коди виходу команд оболонки
Кожного разу, коли команда завершується і повертає керування батьківському процесу, вона повертає коди виходу від 0 до 255. Код виходу 0 означає, що команда виконана успішно, а будь-який інший код виходу означає, що команда була невдалою. Ви можете переглянути код виходу після виконання будь-якої команди за допомогою $? змінна. Дивіться приклад нижче.

код виходу команди оболонки
Ви можете вручну встановити код виходу для сценарію оболонки. Це можна використовувати з умовними операторами, щоб передати, чи було досягнуто мети сценарію чи ні.
приклад
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

код виходу команди оболонки
' echo 'First argument is ' echo 'Second argument is '>
Щоб передати аргументи, просто введіть їх у терміналі після назви сценарію, як показано нижче.

Позиційні аргументи
Зберігання результатів команд
Ви можете зберігати вихідні дані команд у змінній у сценарії оболонки. Для цього є два способи.
Синтаксис
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Давайте подивимося на приклад.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Зберігання результатів команд
Коди виходу команд оболонки
Кожного разу, коли команда завершується і повертає керування батьківському процесу, вона повертає коди виходу від 0 до 255. Код виходу 0 означає, що команда виконана успішно, а будь-який інший код виходу означає, що команда була невдалою. Ви можете переглянути код виходу після виконання будь-якої команди за допомогою $? змінна. Дивіться приклад нижче.

код виходу команди оболонки
весняні петлі
Ви можете вручну встановити код виходу для сценарію оболонки. Це можна використовувати з умовними операторами, щоб передати, чи було досягнуто мети сценарію чи ні.
приклад
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

код виходу команди оболонки