저는 대본을 작성 중인데 좀 더 재미있게 만들고 싶습니다.
나에게 필요한 것은 오래된 타자기처럼 한 번에 한 글자(공백 포함)를 가져와 화면에 쓰는 루프입니다.
복고풍처럼 보이도록 타이핑 사이에 잠시 멈추거나 잠을 자도록 하겠습니다.
답변1
순수 쉘 스크립트를 사용하지 않아도 괜찮다면(즉, awk 또는 perl을 혼합할 수 있음) 여기에 awk를 사용하는 예가 있습니다.
echo "This is... test this" |awk '{
for (i=1; i <= length($0); i++) {
printf substr($0,i,1);
system("sleep 0.1");
}
print "";
}'
답변2
pv
이 작업을 수행할 수 있는 몇 가지 GNU 유틸리티가 있지만 echo "$line1" | pv -qL 10
원할 경우 셸에서 수행할 수도 있습니다.
#!/bin/bash
while [[ -n "$1" ]]
do
sleep ${2:-"0.2"}
printf "%c" "$1"
temp=${1#?}
set -- "$temp" "$2"
done
echo
사용법: script.name 'text in single quotes' [interval time in seconds][1]
변수를 사용하려면 다음과 같이 하십시오.
line1='Test this… test this!'
script.name "$line1" 0.3
[1]: interval time in seconds
선택 사항, 소수점 이하 자릿수 허용