Lors de l'utilisation de read in bash, le fait d'appuyer sur retour arrière ne supprime pas le dernier caractère entré, mais semble ajouter un retour arrière au tampon d'entrée. Est-il possible que je puisse le changer afin que supprimer supprime la dernière clé tapée de l'entrée? Si c'est le cas, comment?Problème de comportement du bouton de retour arrière Bash
Voici un court exemple prog que je l'utilise avec si elle est de toute aide:
#!/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
'si! read ... ' –