shell 进度条 自定义进度
时间: 2023-07-07 19:44:02 浏览: 146
如果你需要在 shell 脚本中添加自定义进度条,可以考虑使用 ANSI 转义码来实现。
下面是一个简单的示例,可以输出一个带有自定义进度条的消息:
```bash
#!/bin/bash
# 定义进度条的宽度
BAR_WIDTH=50
# 定义进度条的字符
BAR_CHAR='#'
EMPTY_CHAR='.'
# 定义当前进度
CURRENT_PROGRESS=0
# 输出消息和进度条
echo "Processing..."
echo -ne '['
while [ $CURRENT_PROGRESS -lt $BAR_WIDTH ]; do
# 计算当前进度百分比
PERCENT=$(echo "scale=2; $CURRENT_PROGRESS * 100 / $BAR_WIDTH" | bc)
# 输出进度条
for i in $(seq 1 $BAR_WIDTH); do
if [ $i -le $CURRENT_PROGRESS ]; then
echo -ne "$BAR_CHAR"
else
echo -ne "$EMPTY_CHAR"
fi
done
echo -ne "] $PERCENT%"
# 增加进度
let CURRENT_PROGRESS=$CURRENT_PROGRESS+1
# 等待一段时间
sleep 0.1
# 移动光标到行首
echo -ne "\r"
done
echo -ne "\n"
```
在这个脚本中,我们定义了一个 50 个字符宽的进度条,使用 '#' 字符表示已完成的进度,使用 '.' 字符表示未完成的进度。通过循环输出进度条,每次增加进度,同时计算当前进度百分比,并输出到进度条的右侧。
你可以根据自己的需求修改进度条的宽度和字符,以及调整进度的增加速度和等待时间。
阅读全文