【Linux修行路】进度条小程序
    		       		warning:
    		            这篇文章距离上次修改已过440天,其中的内容可能已经有所变动。
    		        
        		                
                
#!/bin/bash
# 进度条小程序
 
# 清除屏幕
clear() {
    echo -en "\033[H\033[J"
}
 
# 打印水平进度条
# 参数1: 已完成的百分比
# 参数2: 进度条的总宽度
print_progress_bar() {
    local percent=$1
    local bar_width=$2
    local bar=""
 
    # 计算进度条的完成部分的宽度
    local complete_width=$((bar_width * percent / 100))
    local incomplete_width=$((bar_width - complete_width))
 
    # 打印进度条完成部分
    for ((i=0; i<complete_width; i++)); do
        bar+='#'
    done
 
    # 打印进度条剩余部分
    for ((i=0; i<incomplete_width; i++)); do
        bar+='-'
    done
 
    # 打印进度条
    printf "\r[%-${bar_width}s] %d%%" "$bar" "$percent"
}
 
# 主循环
for ((i=0; i<=100; i+=5)); do
    # 清除之前的输出
    clear
    # 打印新的进度条
    print_progress_bar $i 40
    # 暂停0.1秒
    sleep 0.1
done
 
# 清除最后的输出
clear这段代码定义了一个清除屏幕的函数clear和一个打印水平进度条的函数print_progress_bar。主循环中使用了一个简单的for循环来模拟任务的进度,每次迭代都会更新进度条,并通过sleep命令暂停一小段时间。最后循环结束后,清除了屏幕上的最后输出。这个示例展示了如何在Shell脚本中创建和更新文本模式的进度条。
评论已关闭