Мне стало скучно, и я решил написать сценарий для своего текстового приключения с помощью bash. По сути, предполагается оживление печатной машинки в определенных случаях для драматического повествования. Я могу сделать это вручную в таком файле:
sleep 0.1
echo -n "h"
sleep 0.1
echo -n "e"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "o"
Как вы понимаете, это ужасно утомительно. Вместо этого я хочу извлекать символы из строки (или файла) по одному символу за раз и применять команду сна к каждому символу.
Пока у меня есть следующее, которое читает из файла. IFS= позволяет сохранять пробелы, но не любой другой тип пробела (например, новую строку).
IFS=
while read -n1 achar
do
echo $achar
done < aFile
Можно ли использовать это, чтобы получить все пробелы? В качестве бонуса, можете ли вы сказать мне, как применить это к пользовательскому сценарию, чтобы мне не приходилось читать из отдельного файла? Итак, допустим, у меня есть строка с именем «привет», и я могу просто передать ее своей функции для анимации в качестве пишущей машинки всякий раз, когда я запускаю свой файл в терминале bash.
Будем признательны за любую помощь. Спасибо!