shell脚本实现进度条
使用shell脚本编写进度条
可已加入到shell脚本当中
主要作用:好看 美观 没毛用
(一)
普通进度条:
1 2 3 4 5 6 7 8 9 | #!/bin/bash<br>b='' for ((i=0;$i<=20;i++)) do let jinshu=$i*5 printf "[%-20s]%d%%\r" $b $jinshu sleep 0.1 b= #$b done echo |
倍数为5 (jinshu=$i* )$i乘以几倍数就是几
调整倍数后需调整 (“#?”代表要调整的参数)
1 2 | ((i=0;i<= #?;i++)) printf "[%-#?s]%d%%\r" $b $jinshu |
(二)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash i=0 str= "" label=( '|' '/' '-' '\\' ) index=0 while [ $i - le 20 ] do let index=i%4 let jinshu=$i*5 printf "\e[47m\e[31m[%-20s]\e[0m\e[47;32m[%c]\e[1;0m\e[47;35m[%-3d%%]\e[1;0m\r" $str ${label[$index]} $jinshu let i++ str+= "#" sleep 0.1 done echo |
(三)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/bin/bash # echo "准备中..." i=0 str= "" arr=( "|" "/" "-" "\\" ) while [ $i - le 20 ] do let index=i%4 let indexcolor=i%8 let color=30+indexcolor let NUmbER=$i*5 printf "\e[0;$color;1m[%-20s][%d%%]%c\r" "$str" "$NUmbER" "${arr[$index]}" sleep 0.1 let i++ str+= '+' done printf "\n" # printf "正在执行...稍候!" |
进度条可以用到执行比较危险操作的shell脚本中
提示用户 如果不想执行 可在进度条出按ctrl+c结束脚本
因为 在进度条跑的过程中是不会执行 下面的代码的
也可以设置执行的任务和进度条代码一起执行
见博客 shell多进程
https://www.cnblogs.com/LuckWJL/p/9674347.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步