Пользователи 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
Отправить комментарий