0Pricing
Linux Server Deployment & SSH Mastery · Урок

Введение в написание сценариев Bash

Изучите основы написания сценариев Bash, включая переменные, условные операторы, циклы и базовое выполнение команд.

«Введение в написание сценариев Bash» — бесплатный урок Linux Server Deployment & SSH Mastery на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Server Deployment & SSH Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

Что такое написание сценариев Bash?

Добро пожаловать в мир написания сценариев Bash! Bash (Bourne Again SHell) — стандартный интерпретатор командной строки в большинстве систем Linux.

Сценарий Bash — это обычный текстовый файл, содержащий последовательность команд. Он позволяет автоматизировать задачи, которые обычно пришлось бы вводить в терминале вручную.

  • Экономить время за счёт автоматизации повторяющихся задач.
  • Выполнять сложные последовательности команд одним запуском.
  • Создавать собственные инструменты для администрирования серверов.

Ваш первый сценарий: Hello World

Каждый сценарий начинается со строки шебанга (#!/bin/bash). Она сообщает системе, какой интерпретатор использовать для сценария.

Затем добавляются команды. Давайте создадим классический сценарий «Hello, World!».

#!/bin/bash
# This is a comment: The script says hello.
echo "Hello, CoddyKit!"

Сделайте сценарий исполняемым

После сохранения сценария (например, в файле hello.sh) нужно предоставить ему разрешение на запуск. Для этого используется команда chmod, которая изменяет разрешения файла.

Параметр +x предоставляет разрешение на выполнение. Без него система не поймёт, что этот файл является программой, которую нужно запустить.

#!/bin/bash
# In a real terminal, you would run:
# chmod +x hello.sh
# ./hello.sh

echo "Permissions matter!"

Работа с переменными

Переменные хранят данные. В Bash переменную определяют, присваивая значение имени. Специальное ключевое слово для объявления не требуется.

  • Присваивание: NAME=value (пробелы вокруг = не ставятся)
  • Доступ: $NAME или ${NAME}

Давайте сохраним сообщение и выведем его.

#!/bin/bash

MESSAGE="Welcome to scripting!"

echo $MESSAGE

Объединение команд и переменных

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

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

#!/bin/bash

TARGET_DIR="/tmp"

echo "Listing contents of $TARGET_DIR:"
ls $TARGET_DIR

Условная логика: оператор «if»

Сценариям часто нужно принимать решения. Оператор if позволяет выполнять код только в том случае, если определённое условие истинно.

Условия обычно заключают в квадратные скобки [ ]. Не забывайте ставить пробелы вокруг скобок и операторов!

#!/bin/bash

NUMBER=10

if [ $NUMBER -gt 5 ]; then
  echo "Number is greater than 5."
fi

Добавление «else» и «elif»

Чтобы обработать случаи, когда условие if ложно, можно использовать else. Если условий несколько, пригодится elif (иначе если).

  • -eq: равно
  • -ne: не равно
  • -lt: меньше
  • -le: меньше или равно
  • -gt: больше
  • -ge: больше или равно
#!/bin/bash

GRADE=85

if [ $GRADE -ge 90 ]; then
  echo "You got an A!"
elif [ $GRADE -ge 80 ]; then
  echo "You got a B!"
else
  echo "Keep studying!"
fi

Циклы с «for»

Циклы необходимы для повторения задач. Цикл for перебирает список элементов или диапазон чисел.

Это удобно для обработки нескольких файлов, пользовательских данных или выполнения действий заданное число раз.

#!/bin/bash

for FRUIT in Apple Banana Orange;
do
  echo "I like $FRUIT."
done

# Another common way: sequence
for i in {1..3};
do
  echo "Count: $i"
done

Циклы с «while»

Цикл while продолжает выполнять команды, пока указанное условие остаётся истинным. Он полезен, когда точное число повторений неизвестно.

Обязательно предусмотрите способ, благодаря которому условие в итоге станет ложным, иначе получится бесконечный цикл!

#!/bin/bash

COUNT=1

while [ $COUNT -le 3 ]; do
  echo "The count is $COUNT."
  COUNT=$((COUNT + 1))
done

Проверка знаний о написании сценариев Bash

Каким будет результат выполнения этого простого сценария Bash?

#!/bin/bash

NAME="Coddy"
AGE=5

if [ $AGE -gt 10 ]; then
  echo "Hello, $NAME! You are a teen."
elif [ $AGE -eq 5 ]; then
  echo "Hi, $NAME! You are young."
else
  echo "Welcome, $NAME!"
fi

Итоги: основы написания сценариев Bash

Отличная работа! Вы изучили основные элементы написания сценариев Bash:

  • Шебанг: #!/bin/bash для определения интерпретатора.
  • Исполняемый файл: используйте chmod +x, чтобы запускать сценарии.
  • Переменные: храните данные с помощью NAME=value и обращайтесь к ним через $NAME.
  • Условия: принимайте решения с помощью if, elif и else, используя операторы проверки, такие как -gt и -eq.
  • Циклы: повторяйте задачи с помощью for (перебор списков или диапазонов) и while (повторение до тех пор, пока условие не станет ложным).

Эти основы станут строительными блоками для автоматизации сложных задач на сервере!

Часто задаваемые вопросы

Урок «Введение в написание сценариев Bash» бесплатный?

Да — полный текст урока «Введение в написание сценариев Bash» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Server Deployment & SSH Mastery, подпишись на CoddyKit PRO. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Введение в написание сценариев Bash»?

Изучите основы написания сценариев Bash, включая переменные, условные операторы, циклы и базовое выполнение команд. Ты практикуешь Linux Server Deployment & SSH Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Server Deployment & SSH Mastery?

Предыдущий опыт не требуется. Linux Server Deployment & SSH Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Введение в написание сценариев Bash»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Server Deployment & SSH Mastery?

Да. Каждый урок Linux Server Deployment & SSH Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Введение в написание сценариев Bash
  2. Автоматизация задач сервера
  3. Обработка ошибок и ведение журналов в сценариях
  4. Функции, аргументы и повторно используемые скрипты
← Назад к Linux Server Deployment & SSH Mastery