0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Переменные и пользовательский ввод

Научитесь объявлять и использовать переменные в скриптах, а также запрашивать ввод у пользователей, чтобы сделать скрипты интерактивными.

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

Что такое переменные

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

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

Объявление и присваивание переменных

Чтобы создать переменную в Bash, достаточно присвоить значение имени. Специальные ключевые слова вроде var или let не нужны.

  • Используйте синтаксис VARIABLE_NAME=value.
  • Важно: не ставьте пробелы вокруг знака =.
  • Значениями могут быть текст (строки) или числа.

Попробуем присвоить несколько значений:

#!/bin/bash

# Assigning a string
MY_NAME="CoddyKit"

# Assigning a number
LESSON_NUMBER=2

echo "Name: $MY_NAME"
echo "Lesson: $LESSON_NUMBER"

Получение значений переменных

После объявления переменной получить её значение можно, поставив знак $ перед её именем. Так Bash заменяет имя переменной сохранённым в ней значением.

Например, если у вас есть MY_VAR="Hello", то команда echo $MY_VAR выведет «Hello».

#!/bin/bash

CITY="New York"
TEMPERATURE=75

echo "The city is $CITY."
echo "The temperature is $TEMPERATURE degrees."

# You can also enclose in curly braces for clarity (optional)
echo "It's ${TEMPERATURE}F in ${CITY}."

Правила именования переменных

Хорошие имена переменных делают скрипты понятнее. Вот несколько правил и рекомендаций:

  • Имена могут содержать буквы (a-z, A-Z), цифры (0-9) и символы подчёркивания (_).
  • Они должны начинаться с буквы или символа подчёркивания.
  • Имена переменных чувствительны к регистру (myVar отличается от myvar).
  • Обычно для переменных окружения и констант скрипта используют ALL_CAPS, а для локальных переменных скрипта — mixedCase или snake_case.

Переменные только для чтения

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

После установки для переменной атрибута readonly нельзя присвоить ей новое значение. Попытка сделать это приведёт к ошибке.

#!/bin/bash

APP_VERSION="1.0.0"
readonly APP_VERSION

echo "App Version: $APP_VERSION"

# Uncommenting the next line would cause an error:
# APP_VERSION="1.0.1"
# echo "New App Version: $APP_VERSION"

Создание интерактивных скриптов

До сих пор наши скрипты выполняли команды без необходимости получать данные от пользователя во время работы. Но что, если вы хотите, чтобы скрипт запрашивал информацию?

Здесь пригодится ввод пользователя! Интерактивные скрипты могут изменять своё поведение в зависимости от того, что вводит пользователь, поэтому они гораздо универсальнее и удобнее.

Команда «read»

Основная команда для получения ввода от пользователя — read. При выполнении read скрипт приостанавливается и ждёт, пока пользователь что-нибудь введёт и нажмёт Enter.

Введённый пользователем текст затем сохраняется в указанной вами переменной.

#!/bin/bash

echo "Please enter your name:"
read USER_NAME

echo "Hello, $USER_NAME! Welcome to CoddyKit."

Добавление приглашений с помощью «read -p»

Предыдущий пример работает, но требует двух строк: одной для приглашения с помощью echo и одной для read. Их можно объединить, используя параметр -p (приглашение) команды read.

Так взаимодействие со скриптом становится гораздо аккуратнее и нагляднее.

#!/bin/bash

read -p "What is your favorite animal? " ANIMAL

echo "Oh, so you like $ANIMAL! That's cool."

Скрытие ввода с помощью «read -s»

При вводе конфиденциальных данных, например паролей, не следует показывать введённое пользователем на экране. Параметр -s (без вывода) команды read скрывает ввод во время печати.

После использования read -s рекомендуется добавить команду echo, которая выведет перевод строки. Иначе следующее приглашение может появиться в той же строке, что и скрытый ввод.

#!/bin/bash

read -sp "Enter your secret passphrase: " PASSPHRASE
echo # This adds a newline after the hidden input

echo "Passphrase received (not displayed for security)."

Быстрая проверка: переменные и ввод

Рассмотрим следующий скрипт Bash:

#!/bin/bash

FAVORITE_FOOD="Pizza"
read -p "What's your favorite drink? " DRINK

echo "I like $FAVORITE_FOOD and $DRINK!"

Повторение: переменные и ввод пользователя

Отличная работа! Вы изучили основы создания динамичных и интерактивных скриптов Bash.

  • Переменные хранят значения с помощью NAME=value.
  • Получайте значения переменных с помощью $NAME.
  • readonly делает переменные константами.
  • Команда read получает ввод пользователя.
  • Используйте read -p "Prompt" для приглашений в одной строке.
  • Используйте read -s для скрытого ввода конфиденциальных данных.

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

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

Урок «Переменные и пользовательский ввод» бесплатный?

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

Чему я научусь в уроке «Переменные и пользовательский ввод»?

Научитесь объявлять и использовать переменные в скриптах, а также запрашивать ввод у пользователей, чтобы сделать скрипты интерактивными. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

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

Сколько времени занимает урок «Переменные и пользовательский ввод»?

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

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

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

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

  1. Первый скрипт Bash и шебанг
  2. Переменные и пользовательский ввод
  3. Условные конструкции (if, else, elif)
  4. Работа с массивами в Bash
← Назад к Linux Command Line & Bash Scripting Mastery