Merge pull request #8 from ncjones/master

handle backspace in get_pass
This commit is contained in:
drduh 2015-07-03 11:29:24 -04:00
commit 59f091cc81
1 changed files with 12 additions and 3 deletions

15
pwd.sh
View File

@ -21,14 +21,23 @@ fail () {
get_pass () { get_pass () {
# Prompt for a password. # Prompt for a password.
unset password password=''
prompt="${1}" prompt="${1}"
while IFS= read -p "${prompt}" -r -s -n 1 char ; do while IFS= read -p "${prompt}" -r -s -n 1 char ; do
if [[ ${char} == $'\0' ]] ; then if [[ ${char} == $'\0' ]] ; then
break break
fi
if [[ ${char} == $'\177' ]]; then
if [[ -z "${password}" ]]; then
prompt=''
else
prompt=$'\b \b'
password="${password%?}"
fi fi
else
prompt='*' prompt='*'
password+="${char}" password+="${char}"
fi
done done
if [ -z ${password+x} ] ; then if [ -z ${password+x} ] ; then