Поиск по сайту:
Люби друга, но помни, что он может стать тебе врагом (Сципион).

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

05.06.2023
Bash Heredoc

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

 

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

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

 

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

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

 

#!/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».

Читать  Bash для начинающих. Понимание переменных в сценариях Bash

 

Пример 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

 

Скрипт выполняется два раза. Сообщение «Попробуйте еще раз» печатается, когда число 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"

 

Читать  Как автоматически отвечать на Да или Нет в командах Linux-Unix

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

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

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

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


Рекомендуемое
Asus представила свою новую флагманскую видеокарту с графическими процессорами GeForce…

Спасибо!

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