1. 转圈
渐次输出字符 '\\' '|' '/' '-', 来实现转圈的效果# !/bin/bash
function waiting() { i=0 while [ $i -le 100 ] do for j in '\\' '|' '/' '-' do printf "\t\t\t\t%c %c %c test waiting %c %c %c\r" "$j" "$j" "$j" "$j" "$j" "$j" sleep 0.1 done let i=i+4 done
echo
} waiting
2. 进度条
# !/usr/bin/bash mark='' for ((ratio=0;${ratio}<=100;ratio+=5)) do sleep 0.2 printf "progress:[%-40s]%d%%\r" "${mark}" "${ratio}" mark="##${mark}" done echo
注:若缺少最后一行的 "echo",那么 for循环执行完后,终端的光标不会另起一行,而是显示为:
xxx:~$ :[########################################]100%
3. 总结
无论是转圈还是进度条,都是应用了多次 printf 结果都会显示在同一行的特性;基于这个特性,可以在同一行输出各种自定义的字符串,达到想要的显示效果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)