Логотип

Как запрашивать ввод в Bash

Bash Heredoc

Команда read используется для получения ввода от пользователя в сценарии Bash. Если после этой команды не используется переменная, переменная $REPLY используется для чтения входного значения. Использование подсказки является одним из них. Эта опция используется для получения ввода от пользователя с помощью подсказки, которая помогает пользователю понять, какой тип данных необходимо предоставить. В этой статье объясняются методы использования параметра подсказки для получения ввода от пользователя в Bash.

 

Различные примеры ввода подсказки

В этой части статье показаны различные варианты использования команды «read» с подсказкой.

 

Пример 1. Ввод строки с помощью подсказки

Создайте файл Bash со следующим сценарием, который принимает первый ввод без подсказки в переменную по умолчанию, которая равна $REPLY, второй ввод без подсказки в переменную $lang и третий ввод с подсказкой в переменной ​​$REPLY$. Затем сообщения печатаются на основе введенных значений. Если значение переменной $REPLY равно «y», «Y» или «Yes», ​​печатается сообщение «Вам нравится программировать». Если значение переменной $lang не пусто, выводится значение $lang. Если значение переменной $answer равно «y», «Y» или «Yes», ​​сообщение «Ваш любимый язык» печатается со значением $answer.

Читать  Ядро Linux 6.14 RC4: Текущее обслуживание и стабильность

 

#!/bin/bash

echo "Вам нравится программировать? (y/n)"

#Read input in the default variable

read

echo "Ваш любимый язык программирования?"

#Read input in the assigned variable

read lang

#Read input using a prompt message

read -p "Вы любите программировать в Bash?(Yes/No)" answer

echo

echo "***Output based on the input values:***"

echo

#Output based on the first input

if [[ $REPLY == "y" || $REPLY == "Y" || $REPLY == "Yes" ]]; then

echo "Вы любите программировать."

fi

#Output based on the second input

if [ $lang != "" ]; then

echo "Ваш любимый язык $lang"

fi

#Output based on the third input

if [[ $answer == "y" || $answer == "Y" || $answer == "Yes" ]]; then

echo "Вам нравиться программировать в bash."

fi


Следующий вывод появляется после выполнения скрипта с первым входным значением «y», вторым входным значением «PHP» и третьим входным значением «y».

 

Пример 2. Ввод числовых значений с помощью подсказки

Создайте файл Bash со следующим сценарием, который получает числовое значение от пользователя с помощью подсказки в переменной $number. Затем значение сравнивается с конкретными числами, чтобы определить, совпадает ли число с каким-либо билетом или нет, и печатает сообщение на основе возвращаемого значения оператора «если».

#!/bin/bash
#Take a numeric input
read -p "Enter your ticket number [1000-9999]:" number
#Print output based on the input
if [[ $number -eq "7823" ]]then
echo "Вы выиграли первый приз."
elif [[ $number -eq "3489" ]]then
echo "Вы выиграли второй приз."
elif [[ $number -eq "5634" ]]then
echo "Вы выиграли третий приз."
else
echo "Попробуйте еще раз."
fi

 

Читать  Полное руководство по удалению образов Docker

Скрипт выполняется два раза. Сообщение «Попробуйте еще раз» печатается, когда число 6734 принимается в качестве входного значения. Сообщение «Вы выиграли второй приз» печатается, когда число 3489 принимается в качестве входного значения, потому что оно соответствует второму условию «else».

 

Пример 3. Получение нескольких входных значений с помощью подсказки

В предыдущих двух примерах один ввод осуществляется с использованием каждой команды «read». Но вы можете использовать несколько входных данных в Bash, используя команду «read». В этом случае вы должны передать несколько переменных с пробелом при использовании нескольких входных данных с помощью команды «чтение». Создайте файл Bash со следующим сценарием, который принимает три входных данных в трех переменных — $id, $batch и $cgpa. Значения этих переменных печатаются позже.

#!/bin/bash
echo "=====Enter student information with space====="
#Take multiple input values using a prompt message
read -p "ID, Batch, CGPA: " id batch cgpa
echo
echo "***Output based on the input values:***"
#Print the input values
echo "ID: $id"
echo "Batch: $batch"
echo "CGPA: $cgpa"

 

После выполнения скрипта со значениями id=’01156788′, batch=42 и cgpa=3,97 появляется следующий вывод:

 

Заключение

Использование подсказки с командой «чтение» в сценарии Bash показано в этом руководстве на нескольких примерах. Преимущества использования подсказки с командой «чтение» становятся очевидными после прочтения этого руководства.

Редактор: AndreyEx

Рейтинг: 4.4 (9 голосов)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала