Команда read в Linux с практическими примерами

LinuxBeginner
Практиковаться сейчас

Введение

В этом лабороторном занятии (lab) вы узнаете, как использовать команду read в Linux для получения пользовательского ввода и сохранения его в переменной. Вы также узнаете, как проверить правильность пользовательского ввода с помощью команды read. В рамках этого лабороторного занятия рассматриваются назначение и синтаксис команды read, способ получения пользовательского ввода и сохранения его в переменной, а также способ проверки правильности пользовательского ввода.

Команда read является встроенной командой в Linux и обычно используется для создания интерактивных сценариев (shell scripting). Она позволяет получить пользовательский ввод и сохранить его в переменной, которую затем можно использовать в своих сценариях или программах.

Сводка по командам Linux

Понимание назначения и синтаксиса команды read

На этом этапе вы узнаете о назначении и синтаксисе команды read в Linux. Команда read используется для получения пользовательского ввода и сохранения его в переменной.

Базовый синтаксис команды read выглядит следующим образом:

read [options] [variable_name]

Здесь [options] - это необязательные флаги, которые можно использовать с командой read, а [variable_name] - это имя переменной, в которой будет сохранен пользовательский ввод.

Некоторые распространенные параметры (options) команды read включают:

  • -p: Отображает приглашение перед ожиданием пользовательского ввода.
  • -s: Предотвращает отображение введенного пользователем текста.
  • -n: Считывает только указанное количество символов.
  • -t: Устанавливает тайм-аут в секундах для операции чтения.

Пример:

read -p "Enter your name: " name
echo "Hello, $name!"

Пример вывода:

Enter your name: John
Hello, John!

В этом примере команда read приглашает пользователя ввести свое имя, а введенное значение сохраняется в переменной name. Затем команда echo использует значение переменной name для вывода приветствия.

Чтение пользовательского ввода и сохранение его в переменной

На этом этапе вы узнаете, как использовать команду read для получения пользовательского ввода и сохранения его в переменной.

Для чтения пользовательского ввода и сохранения его в переменной можно использовать следующий синтаксис:

read variable_name

Здесь variable_name - это имя переменной, в которой будет сохранен пользовательский ввод.

Пример:

echo "What is your favorite color?"
read favorite_color
echo "Your favorite color is $favorite_color."

Пример вывода:

What is your favorite color?
blue
Your favorite color is blue.

В этом примере пользователю предлагается ввести его любимый цвет, а введенное значение сохраняется в переменной favorite_color. Затем команда echo использует значение переменной favorite_color для вывода сообщения.

Вы также можете использовать параметр -p с командой read для отображения приглашения пользователю:

read -p "Enter your age: " age
echo "You are $age years old."

Пример вывода:

Enter your age: 30
You are 30 years old.

В этом примере параметр -p используется для отображения приглашения "Enter your age: " перед ожиданием пользовательского ввода, а введенное значение сохраняется в переменной age.

Валидация пользовательского ввода с помощью команды read

На этом этапе вы узнаете, как использовать команду read для валидации пользовательского ввода.

Одна из распространенных способов валидации пользовательского ввода - использование цикла while вместе с командой read. Это позволяет постоянно запрашивать у пользователя ввод до тех пор, пока он не предоставит корректный ответ.

Пример:

while true; do
    read -p "Enter a number between 1 and 10: " num
    if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
        echo "You entered: $num"
        break
    else
        echo "Invalid input. Please try again."
    fi
done

Пример вывода:

Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7

В этом примере команда read используется внутри цикла while для непрерывного запроса у пользователя ввода до тех пор, пока он не введет число от 1 до 10. Условный оператор if проверяет ввод пользователя, и если он корректен, цикл завершается с помощью команды break. Если ввод некорректен, выводится сообщение об ошибке, и цикл продолжается.

Вы также можете использовать команду read с параметром -n для ограничения количества символов, которые пользователь может ввести, или параметром -t для установки тайм-аута для ввода.

Пример:

read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"

Пример вывода:

Enter 'y' or 'n': y
You entered: y

В этом примере параметр -n 1 ограничивает ввод пользователя одним символом, а параметр -p отображает приглашение.

Итог

В этом лабороторном занятии (lab) вы узнали о назначении и синтаксисе команды read в Linux, которая используется для получения пользовательского ввода и сохранения его в переменной. Вы также научились считывать пользовательский ввод и сохранять его в переменной, а также использовать параметр -p для отображения приглашения пользователю. Наконец, вы узнали, как валидировать пользовательский ввод с помощью команды read.

Команда read имеет несколько необязательных флагов, таких как -p для отображения приглашения, -s для скрытия отображения введенного пользователем текста, -n для чтения только указанного количества символов и -t для установки тайм-аута для операции чтения. Вы можете использовать эти флаги для настройки поведения команды read в соответствии с вашими потребностями.

Сводка по командам Linux