菜鸟的天花板

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  23 随笔 :: 0 文章 :: 0 评论 :: 2146 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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 结果都会显示在同一行的特性;基于这个特性,可以在同一行输出各种自定义的字符串,达到想要的显示效果。 

posted on   菜鸟1234567  阅读(657)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示