Автор Тема: bash-скрипт и ввод пароля  (Прочитано 5498 раз)

0 Пользователей и 1 Гость просматривают эту тему.

vladimirse

  • Гость
bash-скрипт и ввод пароля
« : 03 Июнь 2013, 17:59:21 »
Доброго времени суток! Подскажите пожалуйста как в bash-скриптах можно реализовать ввод пароля со звездочками, что бы каждый введенный символ отображался звездочкой (*)?
Или предложите свой вариант реализации данной задачи.
 

Оффлайн ZEN

  • Местный житель
  • ***
  • Сообщений: 217
Re: bash-скрипт и ввод пароля
« Ответ #1 : 03 Июнь 2013, 20:55:31 »
Вот такой вариант:

#!/bin/bash
PASSWORD=""
while
read -s -n1 BUFF
[[ -n $BUFF ]]
do
    PASSWORD=$PASSWORD$BUFF
    echo -en "*"
done
echo
echo $PASSWORD
exit 0

подойдет?
« Последнее редактирование: 03 Июнь 2013, 21:00:15 от ZEN »
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо
 

vladimirse

  • Гость
Re: bash-скрипт и ввод пароля
« Ответ #2 : 04 Июнь 2013, 09:24:09 »
Да это, то что нужно спасибо! Но как обработать корректно бэкспейс?
Может закидывать вводимые символы в массив, а при отлове кода бекспейса удалять последний элемент
 


Оффлайн ZEN

  • Местный житель
  • ***
  • Сообщений: 217
Re: bash-скрипт и ввод пароля
« Ответ #3 : 04 Июнь 2013, 13:37:03 »
я на эту тему вчера думал ) Средствами bash можно удалять/заменять буквы в слове. Можно обойтись без массива. Вот только содержимое $BUFF нужно преобразовать в ascii-код и сравнивать с ascii-кодом клавиши backspace... В результате строку присваивания можно будет заменить на условие if, если был нажат backspace - удалить символ последний, иначе дописать в $PASSWORD. Будет сегодня время, попробую на практике идею применить

Сообщение объединено: 04 Июнь 2013, 14:00:09
Попробуй вот такой вариант

#!/bin/bash

PASSWORD=""

while
read -s -n1 BUFF
[[ -n $BUFF ]]
do
    # 127 - backspace ascii code
    if [[ `printf "%d\n" \'$BUFF` == 127 ]]
    then
PASSWORD="${PASSWORD%?}"
echo -en "\b \b"
    else
PASSWORD=$PASSWORD$BUFF
echo -en "*"
    fi
done

echo
echo $PASSWORD

exit 0
« Последнее редактирование: 04 Июнь 2013, 14:00:09 от ZEN »
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо
 

vladimirse

  • Гость
Re: bash-скрипт и ввод пароля
« Ответ #4 : 04 Июнь 2013, 16:40:15 »
Да, именно то что нужно! Спасибо большое!!!
 

Оффлайн ZEN

  • Местный житель
  • ***
  • Сообщений: 217
Re: bash-скрипт и ввод пароля
« Ответ #5 : 04 Июнь 2013, 18:59:09 »
не за что )

"Не рекламы ради...": ShowHide
Если интересно, по написанию скриптов на bash я периодически пишу вот тут - linuxhub.ru. Может быть заинтересуют какие-то наработки : )
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо
 

vladimirse

  • Гость
Re: bash-скрипт и ввод пароля
« Ответ #6 : 05 Июнь 2013, 09:06:41 »
Приму к сведению! Спасибо!
 

Теги:
 

[РЕШЕНО] убить bash скрипт

Автор }{ronoTrigger

Ответов: 3
Просмотров: 2137
Последний ответ 15 Июнь 2014, 12:50:47
от }{ronoTrigger