Linux shell 进度条

概述

在 Linux Shell 中实现一个简单的进度条可以通过 printf 命令结合特殊字符来实现,以下是一个示例脚本,它模拟了一个从 0% 到 100% 的进度条。

作用

反馈任务进度:让用户直观了解任务执行的进展情况,比如文件拷贝、系统更新等操作,通过进度条能清楚知道已完成部分和剩余部分,避免因等待时间长而焦虑。

监控任务状态:可实时反映任务是否正常进行。若进度条长时间停滞,可能表示任务出现问题,如遇到错误或资源瓶颈,有助于用户及时发现并处理。

增强用户体验:为用户提供可视化交互,使操作更具吸引力和专业性,提升用户对系统或程序的满意度和信任度。

预估完成时间:结合进度条和已用时间,用户能大致预估任务剩余时间,合理安排工作和等待时间。

实现

progress.sh:

bash 复制代码
# 总步数
total_steps=100
# 进度条长度
bar_length=50

for i in `seq ${total_steps}`
do
    # 计算已完成的进度条长度
    filled_length=$((i * bar_length / total_steps))
    # 计算剩余的进度条长度
    remaining_length=$((bar_length - filled_length))
    # 生成已填充的部分
    filled_bar=$(printf '%*s' "$filled_length" | tr ' ' '#')
    # 生成未填充的部分
    remaining_bar=$(printf '%*s' "$remaining_length" | tr ' ' '-')
    # 计算百分比
    percentage=$((i))
    # 输出进度条
    printf "[$filled_bar$remaining_bar] %d%%\r" $percentage
    # 模拟一些耗时操作,这里使用sleep 0.1秒
    sleep 0.1
done
printf "\n"

效果:

相关推荐
不羁。。10 分钟前
【操作系统安全】任务6:Linux 系统文件与文件系统安全 学习指南
linux·运维·服务器
码砖咋说43 分钟前
腾讯云容器集群:节点可以访问公网,节点内的pod无法访问公网
linux·云计算·腾讯云
weixin_307779131 小时前
CentOS高性能数据处理优化指南
linux·性能优化·centos·数据库开发
运维小子1 小时前
Dify平台离线镜像部署
运维·docker·容器·dify
得物技术1 小时前
商家域稳定性建设之原理探索|得物技术
运维
珹洺1 小时前
计算机网络:(二)计算机网络在我国发展与网络类别与性能 (附带图谱更好对比理解)
运维·服务器·网络·数据库·后端·计算机网络
小林熬夜学编程1 小时前
【高并发内存池】第一弹---深入解析内存池:项目介绍、原理及设计定长内存池全攻略
linux·服务器·c语言·开发语言·c++·算法
upDiff1 小时前
ubuntu测试指定文件夹的读写速度
linux·ubuntu
Lllongroad1 小时前
LINUX驱动学习之IIC驱动-----以AP3216C为例
linux·服务器·驱动开发·学习
网安导师小李2 小时前
Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了
android·运维·ide·人工智能·安全·web安全·android studio