bash - 如何为命令很少的 shell 脚本添加进度条?
问题描述
我正在编写一个带有一些命令的shell 脚本。我想给它添加一个进度条。
例如-
Command 1 #Progress bar at 25%
Command 2 #Progress bar at 50%
Command 3 #Progress bar at 75%
Command 4 #Progress bar at 100%
任何帮助是极大的赞赏。
编辑:我正在使用 linux 的 Bash 终端,并希望在终端中显示进度条。
解决方案
许多解决方案最简单的方法是使用 pv 等 externat 命令
du -h /var | tail -2 | pv
更好的方法是在您的脚本中使用函数来显示条形图:
echo -ne '##### (33%)\r'
sleep 1
echo -ne '############# (66%)\r'
sleep 1
echo -ne '####################### (100%)\r'
echo -ne '\n'
甚至更好地使用滚动旋转:
sp='/-\|'
printf ' '
while true; do
printf '\b%.1s' "$sp"
sp=${sp#?}${sp%???}
done
您将任务作为背景和条形启动和/或作为前景旋转当然您会在信号上设置条件或陷阱以在任务/命令结束时停止它。
推荐阅读
- javascript - this.RowClicked 不是 HTMLTableCellElement.eval 中的函数尝试获取“tr”元素的 id 时
- flutter - Flutter/Dart 重建一个有状态的小部件
- javascript - 如何在无状态组件中使用 react-rangeslider
- node.js - 在不使用数字索引的情况下更新 mongodb nodejs 中的双嵌套嵌入文档
- serial-port - Ada - 使用 ttyUSB 设备(FTDI 芯片)时的时序问题
- java - android SharedPreferences 和 Map
- angular - 如何正确地将 id 和 data-target 的值与 angular2+ 绑定?
- javascript - 自动扩展公式,然后复制粘贴值
- python-3.x - 比较具有分数范围的两个班级
- c++-cli - ref 类可以按值存储在托管类中吗?