Программируем на Bash: запрос данных у пользователя

Пользователи Linux, только начинающие постигать премудрости написания сценариев на Bash, часто сталкиваются с необходимостью запросить у пользователя какие-нибудь дополнительные данные в момент исполнения сценария. Индийский программист Никеш Йаухари рассказывает как можно это осуществить.

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

Следующий пример демонстрирует работу команды read. Скрип сначала запрашивает у пользователя имя, потом пароль, потом выводит имя и пароль на экран. Обратите внимание, что в качестве аргумента передается имя переменной окружения без символа «$», тогда как при выводе содержимого этой переменной с помощью команды echo символ «$» уже используется.

#!/bin/bash
echo -n "Введите свое имя: ";
read username
echo -n "Введите пароль: "
read -s passwd
echo
echo "$username, ваш пароль $passwd";

Вывод при работе сценария будет выглядеть следующим образом:

$ ./readpass.sh 
Введите свое имя: nikesh
Введите пароль: 
nikesh, ваш пароль linuxpoison
Ваша оценка: Нет Средняя оценка: 5 (1 vote)

Отправить комментарий

Яндекс.Метрика