저는 쉘 스크립팅을 처음 접했습니다. 터미널에 텍스트를 표시하는 "echo"와 유사한 명령이 있는지 궁금했는데, 단순히 바로 표시하는 것이 아니라 실제로 누군가가 터미널에 입력하는 것처럼 실제로 입력을 하신 걸까요?
누군가가 메뉴와 같은 간단한 스크립트를 설명하는 페이지를 알려준다면 감사하겠습니다.
답변1
여기는 순수세게 때리다해결책:
string='foo bar base'
for ((i=0; i<=${#string}; i++)); do
printf '%s' "${string:$i:1}"
sleep 0.$(( (RANDOM % 5) + 1 ))
done
${#variable}
문자열의 길이입니다printf
echo
표시 문자열 및 형식 출력으로 대체될 수 있습니다 .%s
printf
개행 없이 문자열을 표시 하도록 지시합니다.\n
${string:$i:1}
는세게 때리다[파라미터 확장]1문자열의 특정 문자만 표시$(( ))
일부세게 때리다산수$(( ( RANDOM % 5 ) + 1 ))
정수 표시: 무작위로 1~5
보너스
매개변수와 함께 사용되는 함수는 다음과 같습니다.
matrix(){
tput setaf 2 &>/dev/null # green powaaa
for ((i=0; i<=${#1}; i++)); do
printf '%s' "${1:$i:1}"
sleep 0.$(( (RANDOM % 5) + 1 ))
done
tput sgr0 2 &>/dev/null
}
matrix 'foo bar base'
답변2
나는 그것을 타자기라고 부른다.
count=0
echo "enter your name"
read b
sleep 2
a="hello"
a=`echo $a" "$b" nice to meet you"`
while [ $count -lt $((${#a}+1)) ]
do
x=`expr substr "$a" $count 1`
if [ "$x" != " " ]
then
echo -n $x
sleep 0.2
else echo -n " "
fi
count=$(($count+1))
done
echo " "