Такс. Вопрос из зала — как через 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.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Чо делать дальше? Ну логично же: в переменную a записывается введённый пароль, а дальше делай с ним всё, что захочешь.

Вот такие пироги!