Как запросить данные у пользователя на 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 (3 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.