Bash - перший скрипт¶
У цьому розділі ви дізнаєтесь, як написати свій перший скрипт у bash.
Цілі: В цьому розділі ви дізнаєтеся як:
Написати свій перший сценарій у bash;
Виконати свій перший сценарій;
Вказати, яку оболонку використовувати з так званим shebang;
linux, script, bash
Знання:
Складність:
Час для читання: 10 хвилин
Мій перший сценарій¶
Щоб почати писати сценарій оболонки, зручно скористатися текстовим редактором, який підтримує підсвічування синтаксису.
Наприклад, vim
є хорошим інструментом для цього.
Назва сценарію повинна відповідати деяким правилам:
- відсутні назви існуючих команд;
- лише буквено-цифрові символи, тобто без наголосів і пробілів;
- розширення .sh, щоб вказати, що це сценарій оболонки.
Примітка
Автор використовує «$» у цих уроках для позначення командного рядка користувача.
#!/usr/bin/env bash
#
# Author : Rocky Documentation Team
# Date: March 2022
# Version 1.0.0: Displays the text "Hello world!"
#
# Displays a text on the screen :
echo "Hello world!"
Щоб мати можливість запустити цей скрипт, як аргумент bash:
$ bash hello-world.sh
Hello world !
Або, простіше, після надання йому права на виконання:
$ chmod u+x ./hello-world.sh
$ ./hello-world.sh
Hello world !
Примітка
Щоб виконати сценарій, його потрібно викликати з ./
перед його іменем, коли ви перебуваєте в каталозі, де знаходиться сценарій. Якщо немає в цьому каталозі, вам потрібно буде викликати його з повним шляхом до сценарію, АБО розмістити його в каталозі, який знаходиться у вашій змінній середовища PATH: (Приклади: /usr/local/sbin
, /usr/ local/bin
тощо)
Інтерпретатор відмовиться виконувати сценарій, наявний у поточному каталозі, без вказівки шляху (тут із ./
перед ним).
Команду chmod
слід передати тільки один раз у щойно створеному сценарії.
Перший рядок, який потрібно написати в будь-якому сценарії, - це вказати назву двійкового файлу оболонки, який буде використано для його виконання. Якщо ви бажаєте використовувати оболонку ksh
або інтерпретовану мову python
, замініть рядок:
#!/usr/bin/env bash
на:
#!/usr/bin/env ksh
або на:
#!/usr/bin/env python
Цей перший рядок називається shebang
. Він починається із символів #!
, за якими йде шлях до двійкового інтерпретатора команди, який потрібно використовувати.
Про shebang
Можливо, ви зустрічали «shebang» у сценарії, який ви дивилися, який не містить розділу «env», а просто містить інтерпретатор для використання. (Приклад: #!/bin/bash
). Авторський спосіб вважається рекомендованим і правильним способом оформлення «shebang».
Чому рекомендовано авторський метод? Тому що це підвищує портативність сценарію. Якщо з якоїсь причини інтерпретатор жив у зовсім іншому каталозі, інтерпретатор все одно буде знайдений, якщо ви використаєте метод автора.
Протягом усього процесу написання вам слід подумати про вичитку сценарію, використовуючи, зокрема, коментарі:
- загальна презентація, на початку, щоб вказати призначення сценарію, його автора, його версію, його використання тощо.
- під час тексту, щоб допомогти зрозуміти дії.
Коментарі можна розміщувати в окремому рядку або в кінці рядка, що містить команду.
Приклад:
# This program displays the date
date # This line is the line that displays the date!
Author: Antoine Le Morvan
Contributors: Steven Spencer, Ganna Zhyrnova