Скрипты оболочки · 4 min read · Nov 14, 2025
Скрипты оболочки Часть I: Начало работы с bash-скриптами
Здравствуйте. Это первая часть серии учебников по Linux. При написании этого учебника я предполагаю, что вы абсолютный новичок в создании скриптов Linux и очень хотите учиться. В течение серии уровень будет повышаться, поэтому я уверен, что даже для более опытных пользователей будет что-то новое. Итак, давайте начнем.
Введение
Большинство наших операционных систем, включая Linux, могут поддерживать различные пользовательские интерфейсы (UI). Графический пользовательский интерфейс (GUI) — это удобный настольный интерфейс, который позволяет пользователям щелкать по значкам для запуска приложения. Другой тип интерфейса — это интерфейс командной строки (CLI), который является чисто текстовым и принимает команды от пользователя. Оболочка, интерпретатор команд, считывает команду через CLI и вызывает программу. Большинство операционных систем в настоящее время предоставляют оба интерфейса, включая дистрибутивы Linux.
При использовании оболочки пользователь должен вводить серию команд в терминале. Нет проблем, если пользователь должен выполнить задачу только один раз. Однако, если задача сложная и должна быть выполнена несколько раз, это может стать немного утомительным для пользователя. К счастью, есть способ автоматизировать задачи оболочки. Это можно сделать, написав и запустив скрипты оболочки. Скрипт оболочки — это тип файла, который состоит из серии и последовательности команд, поддерживаемых оболочкой Linux.
Зачем создавать скрипты оболочки?
Скрипт оболочки — это очень полезный инструмент для автоматизации задач в операционных системах Linux. Его также можно использовать для объединения утилит и создания новых команд. Вы можете объединить длинные и повторяющиеся последовательности команд в одну простую команду. Все скрипты могут быть выполнены без необходимости компиляции, поэтому у пользователя будет способ прототипирования команд без проблем.
Я новичок в среде Linux, могу ли я все еще научиться создавать скрипты оболочки?
Конечно! Создание скриптов оболочки не требует сложных знаний о Linux. Достаточно базовых знаний о общих командах в CLI Linux и текстовом редакторе. Если вы абсолютный новичок и не имеете базовых знаний о командной строке Linux, вы можете найти этот учебник полезным.
Создание моего первого скрипта оболочки
Bash (Bourne-Again Shell) — это оболочка по умолчанию в большинстве дистрибутивов Linux и OS X. Это проект с открытым исходным кодом GNU, который был предназначен для замены sh (Bourne Shell), оригинальной Unix-оболочки. Он был разработан Брайаном Фоксом и выпущен в 1989 году.
Вы всегда должны помнить, что каждый скрипт Linux, использующий bash, будет начинаться со следующей строки:
#!/bin/bashКаждый скрипт Linux начинается со строки shebang (#!). Строка bang указывает полный путь /bin/bash интерпретатора команд, который будет использоваться для выполнения скрипта.
Привет, мир!
Каждый язык программирования начинается с вывода Привет, мир! Мы не будем заканчивать эту традицию и создадим нашу собственную версию этого дублирующего вывода в скриптах Linux.
Чтобы начать создание нашего скрипта, выполните следующие шаги:
Шаг 1: Откройте текстовый редактор. Я буду использовать gedit для этого примера. Чтобы открыть gedit с помощью терминала, нажмите CTRL + ALT + T на клавиатуре и введите gedit. Теперь мы можем начать писать наш скрипт.
Шаг 2: Введите следующую команду в текстовом редакторе:
#!/bin/bash
echo "Hello World"Шаг 3: Теперь сохраните документ с именем файла hello.sh. Обратите внимание, что каждый скрипт будет иметь расширение файла .sh.
Шаг 4: В связи с соображениями безопасности, установленными дистрибутивами Linux, файлы и скрипты по умолчанию не являются исполняемыми. Однако мы можем изменить это для нашего скрипта, используя команду chmod в CLI Linux. Закройте приложение gedit и откройте терминал. Теперь введите следующую команду:
chmod +x hello.shСтрока выше устанавливает разрешение на выполнение для файла hello.sh. Эта процедура должна выполняться только один раз перед первым запуском скрипта.
Шаг 5: Чтобы запустить скрипт, введите следующую команду в терминале:
./hello.shДавайте рассмотрим еще один пример. На этот раз мы добавим отображение некоторой информации о системе, используя команды whoami и date в наш приветственный скрипт.
Откройте hello.sh в нашем текстовом редакторе и отредактируйте наш скрипт, введя:
#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"Сохраните изменения, которые мы внесли в скрипт, и запустите скрипт (Шаг 5 в предыдущем примере), введя:
./hello.shВывод скрипта будет:

В предыдущем примере команды whoami и date использовались внутри команды echo. Это только означает, что все утилиты и команды, доступные в командной строке, также могут использоваться в скриптах оболочки.
Генерация вывода с помощью printf
До сих пор мы использовали echo для вывода строк и данных из команд в нашем предыдущем примере. Echo используется для отображения строки текста. Еще одна команда, которую можно использовать для отображения данных, — это команда printf. Команда printf управляет и выводит данные, как функция printf в C.
Ниже приведено резюме общих управляющих символов printf:
| Управляющий символ | Использование |
| \” | Двойная кавычка |
| \ | Обратная косая черта |
| \b | Удаление символа |
| \c | Не производить дальнейший вывод |
| \e | Эскейп |
| \n | Новый абзац |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
Пример 3: Мы откроем предыдущий hello.sh и изменим все echo на printf и снова запустим скрипт. Обратите внимание на изменения в нашем выводе.
#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"
Все строки соединены друг с другом, потому что мы не использовали никаких управляющих символов в команде printf. Поэтому команда printf в Linux имеет те же свойства, что и функция printf в C.
Чтобы отформатировать вывод нашего скрипта, мы будем использовать два управляющих символа из таблицы выше. Чтобы они работали, управляющие символы должны быть указаны с помощью \ внутри кавычек команды printf. Например, мы изменим предыдущий содержимое hello.sh на:
#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"Скрипт выводит следующее:

Заключение
В этом учебнике вы узнали основы скриптов оболочки и смогли создать и запустить скрипты оболочки. Во второй части учебника я представлю, как объявлять переменные, принимать ввод и выполнять арифметические операции с помощью команд оболочки.
Get new posts in your inbox
No spam. Unsubscribe anytime.