bash скрипты для начинающих — урок №1: Первая строка, первый скрипт.

Вы уже имеете некоторый опыт работы с командной строкой Linux. Вы умеете исполнять базовые команды и их последовательности. Пришло время автоматизировать повседневные процессы, перейдя от ручного исполнения команд к использованию скриптов.

Сегодня мы начинаем новую серию статей, посвященных тому, как создать bash скрипт в linux. Мы последовательно рассмотрим основные принципы и элементы скриптов от простых к более комплексным.

Зачем использовать bash скрипты?

Автоматизация задач: Скрипты позволяют выполнять рутинные операции автоматически, например, копировать файлы или запускать программы, чтобы не делать это вручную каждый раз.

Экономия времени: Вместо повторяющихся ручных действий вы запускаете один скрипт — и всё делается быстро и без ошибок.

Обеспечение повторяемости: Скрипты позволяют делать одни и те же действия одинаково каждый раз, что важно для надежности и качества работы.

Упрощение сложных процессов: Можно объединить несколько команд в один скрипт, чтобы запустить сложную последовательность действий одним кликом или командой.

Администрирование системы: Скрипты помогают системным администраторам быстро настраивать и контролировать работу серверов и компьютеров.

Первая строка, первый скрипт.

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

Шаг 1: Зададим первую строку

Прежде чем начать писать наш первый скрипт, выполним простую команду:

[root@waky bash_practice]# echo $SHELL
/bin/bash
[root@waky bash_practice]#

Мы вывели значение системной переменной SHELL, в которой записан обработчик по умолчанию. В нашем случае, как и в большинстве современных Linux дистрибутивах это  /bin/bash.

Bash (Bourne-Again SHell) — это мощная командная оболочка (shell) и язык сценариев для UNIX-подобных систем (Linux, macOS), позволяющая пользователям взаимодействовать с ОС через командную строку, а также автоматизировать задачи, создавая скрипты с переменными, циклами, условиями и функциями.

В системе могут присутствовать разные командные оболочки. И Bash может оказаться не первой из них. Поэтому, если мы пишем Bash скрипт, важно убедиться, что наш скрипт будет исполнен соответствующим обработчиком.

С помощью текстового редактора создадим файл first_script.sh и запишем в него первую строку:

#!/bin/bash

Таким способом мы указываем оболочку, которая должна обработать данный скрипт. Использование расширений в Linux является номинальным, не обязательно называть файлы скриптов с .sh на конце, они и без этого будут работать. Однако, это хорошая практика, помогающая пользователям отличить файлы скриптов от других файлов.

Шаг 2: Пишем первый скрипт

По сути, bash скрипт — это последовательность команд, перечисленных в файле, которые обработчик должен выполнить. Дополним наш скрипт несколькими простыми командами, в результате файл примет вид:

#!/bin/bash
echo "Timezone details:"
timedatectl
echo "Date and time details:"
date

В скрипте мы прописали две простые команды связанные с отображением даты и времени и сопроводили их двумя сообщениями.

Сохраняем и закрываем файл. Теперь есть два способа запуска данного скрипта.

Первый — передать имя файла обработчику непосредственно:

[root@waky bash_practice]# bash first_script.sh
Timezone details:
               Local time: Sun 2025-12-21 05:30:52 MSK
           Universal time: Sun 2025-12-21 02:30:52 UTC
                 RTC time: Sun 2025-12-21 02:30:52
                Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
Date and time details:
Sun Dec 21 05:30:52 AM MSK 2025
[root@waky bash_practice]#

Второй — сделать файл исполняемым:

[root@waky bash_practice]# chmod +x first_script.sh
[root@waky bash_practice]#

И запустить скрипт по имени, обратите внимание, что для запуска локального скрипта используется указание на текущую директорию ./, без этого обработчик будет искать название среди системных команд и скриптов:

[root@waky bash_practice]# ./first_script.sh
Timezone details:
               Local time: Sun 2025-12-21 05:32:43 MSK
           Universal time: Sun 2025-12-21 02:32:43 UTC
                 RTC time: Sun 2025-12-21 02:32:43
                Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
Date and time details:
Sun Dec 21 05:32:43 AM MSK 2025
[root@waky bash_practice]#

В обоих случаях наш скрипт успешно отработал.

Итоги:

Мы создали наш первый скрипт, и хотя он пока малополезен, на его примере мы разобрались, как запускать скрипты. Мы узнали назначение первой строки скрипта. И даже если bash является оболочкой по умолчанию, наличие этой строки, будет не обязательно, но желательно.

Следующий урок: bash скрипты для начинающих — урок №2: Создание переменных.