Cuando se utiliza lectura en bash, al presionar retroceso no se elimina el último carácter introducido, pero parece agregar un espacio de retroceso al almacenamiento intermedio de entrada. ¿Hay alguna forma de que pueda cambiarlo para que eliminar elimine la última clave escrita a partir de la entrada? ¿Si es así, cómo?Problema de comportamiento de botón de retroceso de lectura de lectura
He aquí una breve prog ejemplo lo estoy usando con si es de alguna ayuda:
#!/bin/bash
colour(){ #$1=text to colourise $2=colour id
printf "%s%s%s" $(tput setaf $2) "$1" $(tput sgr0)
}
game_over() { #$1=message $2=score
printf "\n%s\n%s\n" "$(colour "Game Over!" 1)" "$1"
printf "Your score: %s\n" "$(colour $2 3)"
exit 0
}
score=0
clear
while true; do
word=$(shuf -n1 /usr/share/dict/words) #random word from dictionary
word=${word,,} #to lower case
len=${#word}
let "timeout=(3+$len)/2"
printf "%s (time %s): " "$(colour $word 2)" "$(colour $timeout 3)"
read -t $timeout -n $len input #read input here
if [ $? -ne 0 ]; then
game_over "You did not answer in time" $score
elif [ "$input" != "$word" ]; then
game_over "You did not type the word correctly" $score;
fi
printf "\n"
let "score+=$timeout"
done
'if! leer ... ' –