Такс. Вопрос из зала — как через bash-скрипт запросить у пользователя пароль, но чтобы при вводе пароля отображались звёздочки?
На этот счёт у меня есть две кишки. Выбирай любую понравившуюся. Либо пиши свой вариант в комментариях, будет интересно посмотреть.
Кишка первая.
a=''; while read -n 1 -s c; do [ "$c" = '' ] && break; echo -n '*'; a="$a$c"; done
Согласен, выглядит хуёво, но вторая на вид ещё хуёвее.
В этой кишке есть нюанс: она не работает с кнопкой Backspace, то есть ты не сможешь отредактировать то, что уже ввёл.
Кишка вторая.
a=''; while read -n 1 -s c; do [ "$c" = '' ] && break; if [ "$c" = $'\x7f' ]; then [ "$a" != "" ] && { a=${a:0:-1}; printf "\b \b"; }; else echo -n '*'; a="$a$c"; fi; done;
А тут уже более совершенный вариант с рабочей кнопкой Backspace.
a записывается введённый пароль, а дальше делай с ним всё, что захочешь.Вот такие пироги!








Комментарии