Я пробовал xdotool после прочтения ответа @ десерта, но не смог заставить его работать по какой-то причине. Поэтому я придумал это:
while read line
do
grep -o . <<<$line | while read a
do
sleep 0.1
echo -n "${a:- }"
done
echo
done
Выровняйте свой текст в вышеуказанный код, и он будет напечатан как напечатан. Вы также можете добавить случайность, заменив sleep 0.1 на sleep 0.$((RANDOM%3)).
Эта версия время от времени вводит фальшивую опечатку и исправляет ее: [ ! d3]
while read line
do
# split single characters into lines
grep -o . <<<$line | while read a
do
# short random delay between keystrokes
sleep 0.$((RANDOM%3))
# make fake typo every 30th keystroke
if [[ $((RANDOM%30)) == 1 ]]
then
# print random character between a-z
printf "\\$(printf %o "$((RANDOM%26+97))")"
# wait a bit and delete it again
sleep 0.5; echo -ne '\b'; sleep 0.2
fi
# output a space, or $a if it is not null
echo -n "${a:- }"
done
echo
done