Ral*_* F. 2 shell bash shell-script
我是 shell 脚本的新手。我想知道是否有类似于“echo”的命令用于在终端中显示文本,但它不是简单地立即显示它,而是实际输入它,就像有人真的在终端上输入一样?
如果有人能给我指出解释简单脚本(如菜单等)的页面,我也将不胜感激。
这是一个纯bash解决方案:
string='foo bar base'
for ((i=0; i<=${#string}; i++)); do
printf '%s' "${string:$i:1}"
sleep 0.$(( (RANDOM % 5) + 1 ))
done
Run Code Online (Sandbox Code Playgroud)
${#variable}
是字符串的长度printf
可以替换echo
以显示字符串和格式输出:%s
告诉 toprintf
显示一个没有换行符的字符串\n
${string:$i:1}
是bash [参数扩展] 1只显示字符串中的特定字母$(( ))
是一些bash算术$(( ( RANDOM % 5 ) + 1 ))
显示一个整数:1 到 5 RANDOMly奖金
这是一个与参数一起使用的函数:
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'
Run Code Online (Sandbox Code Playgroud)