shell 编写一个带有进度条的程序安装脚本

 更新时间:2023年08月25日 09:14:13   作者:小子宝丁  
这篇文章主要介绍了shell 编写一个带有进度条的程序安装脚本,通过使用Shell脚本,我们可以轻松地实现命令行中的进度条功能,从而提高工作效率,感兴趣的可以了解一下

需求

使用 shell 写一个 软件安装脚本,带有进度条

示例

#!/bin/bash
# 模拟软件安装的步骤列表
steps=("解压文件" "安装依赖" "配置设置" "复制文件" "")
# 计算总步骤数
total_steps=${#steps[@]}
# 安装进度的初始值
progress=0
# 打印安装进度函数
print_progress() {
    local current_step=$1
    local percentage=$2
    local step=$3
    # 清除当前行
    printf "\r\033[K"
    # 构建进度条字符串
    local progress_bar=$(printf "[%-${total_steps}s] %d%%" "$(yes "#" | head -n $current_step | tr -d '\n')" "$percentage")
    # 打印安装进度
    printf "安装进度: %s %s" "$progress_bar" "$step"
}
# 循环执行每个步骤
for ((i=0; i<total_steps; i++)); do
    step=${steps[$i]}
    # 模拟每个步骤的安装操作
    sleep 1
    # 更新进度
    ((progress = (i+1) * 100 / total_steps))
    # 打印安装进度
    print_progress "$((i+1))" "$progress" "$step"
done
# 打印安装完成消息
printf "\n软件安装完成!\n"

在这个示例中,使用 ANSI 转义序列来实现覆盖原来的打印信息,并保持进度条在同一行显示。通过使用 \r 进行回车,然后使用 \033[K 清除当前行的内容,可以实现覆盖效果。

在 print_progress 函数中,首先清除当前行的内容,然后构建进度条字符串,并使用 \r 实现回车到行首的效果。进度条字符串包含了当前步骤的填充部分和进度百分比。

最后,通过调用 print_progress 函数来打印安装进度,并在安装完成后打印安装完成消息。

效果

到此这篇关于shell 编写一个带有进度条的程序安装脚本的文章就介绍到这了,更多相关shell  进度条安装脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell 批量进程判断是否存在

    Shell 批量进程判断是否存在

    本文主要介绍了Shell 批量进程判断是否存在,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 在Linux中查找 IP 地址的3种方法

    在Linux中查找 IP 地址的3种方法

    在 Linux 系统中,经常需要查找 IP 地址以进行网络配置、故障排除或安全管理,无论是查找本地主机的 IP 地址还是查找其他设备的 IP 地址,本文将介绍三种简单的方法,帮助你在 Linux 中轻松找到所需的 IP 地址,需要的朋友可以参考下
    2023-09-09
  • linux shell中“.” 和 “./”执行的区别详解

    linux shell中“.” 和 “./”执行的区别详解

    这篇文章主要介绍了linux shell中“.” 和 “./”执行的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 详解SFTP命令

    详解SFTP命令

    SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议,这篇文章主要介绍了SFTP命令,需要的朋友可以参考下
    2022-09-09
  • bash shell 自定义函数命令持久化生效问题

    bash shell 自定义函数命令持久化生效问题

    这篇文章主要介绍了bash shell 自定义函数命令持久化生效,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Shell常用服务器日志分析命令总结

    Shell常用服务器日志分析命令总结

    有时我们需要分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试
    2022-06-06
  • Linux中修改文件权限chmod命令详解

    Linux中修改文件权限chmod命令详解

    在Linux系统中,chmod命令用于更改文件或目录的权限,它可以授予或撤销对文件的读取、写入和执行权限,本文给大家详细的介绍了Linux修改文件权限chmod命令用法,需要的朋友可以参考下
    2023-08-08
  • shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    这篇文章主要介绍了shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • shell中case的用法学习笔记

    shell中case的用法学习笔记

    这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码
    2013-11-11
  • Shell $[]对整数进行数学运算实现

    Shell $[]对整数进行数学运算实现

    本文主要介绍了Shell $[]对整数进行数学运算实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论