【发布时间】:2020-03-09 19:58:56
【问题描述】:
我想问你一个小问题, 如果我有来自https://github.com/fearside/ProgressBar/的这个进度条@
#!/bin/bash
# 1. Create ProgressBar function
# 1.1 Input is currentState($1) and totalState($2)
function ProgressBar {
# Process data
let _progress=(${1}*100/${2}*100)/100
let _done=(${_progress}*4)/10
let _left=40-$_done
# Build progressbar string lengths
_fill=$(printf "%${_done}s")
_empty=$(printf "%${_left}s")
# 1.2 Build progressbar strings and print the ProgressBar line
# 1.2.1 Output example:
# 1.2.1.1 Progress : [########################################] 100%
printf "\rProgress : [${_fill// /#}${_empty// /-}] ${_progress}%%"
}
# Variables
_start=1
# This accounts as the "totalState" variable for the ProgressBar function
_end=100
# Proof of concept
for number in $(seq ${_start} ${_end})
do
sleep 0.1
ProgressBar ${number} ${_end}
done
printf '\nFinished!\n'
在这段代码中我可以在我的循环中组合到哪里?
for i in `cat server`
do ssh -o "BatchMode=yes" -o StrictHostKeyChecking=no $i " (df -h /var | tr '\n' ',') & (hostname)| tr '\n' ',' " ;echo 2>&1 | tee >> /tmp/check_var2.csv
done
【问题讨论】:
-
你想展示什么样的进步?从文件
server中读取了多少行? -
该命令只是一个示例.. 我希望它在我运行它后显示循环进度(某些命令需要时间,例如清理 inode 或裸露其他东西..),它是大约 2 行,2 个服务器(服务器列表)