分页: 1 / 2
shell 输出进度条
发表于 : 2012-06-26 14:33
由 mad_frog
我想我在运行脚本的时候输出进度条,如何实现呀,进度条跑的时间取决于脚本运行的时间@_@
Re: shell 输出进度条
发表于 : 2012-06-26 14:57
由 xiooli
Re: shell 输出进度条
发表于 : 2012-06-26 15:06
由 mad_frog
这是什么呀?
Re: shell 输出进度条
发表于 : 2012-06-26 15:08
由 枫叶饭团
Re: shell 输出进度条
发表于 : 2012-06-26 15:15
由 枫叶饭团
[bash]for ((i=0;i<=50;i++))
do
for ((j=0;j<=$i;j+=1))
do
printf ">"
done
for ((k=0;k<=50-$j;k+=1))
do
printf "="
done
printf "\r"
sleep 0.1
done
echo ""
[/bash]
这个学习了
Re: shell 输出进度条
发表于 : 2012-06-26 15:17
由 mad_frog
我的意思是它进度是根据我的脚本运行的时间来运行的呀
Re: shell 输出进度条
发表于 : 2012-06-26 15:25
由 xiooli
mad_frog 写了:我的意思是它进度是根据我的脚本运行的时间来运行的呀
那还不简单,过一会打印一个=不就行了?
Re: shell 输出进度条
发表于 : 2012-06-26 15:28
由 mad_frog
mad_frog 写了:我的意思是它进度是根据我的脚本运行的时间来运行的呀
不懂
Re: shell 输出进度条
发表于 : 2012-06-26 15:29
由 eexpress
某些命令带-v
某些可以用rsync代替
某些如dd可以用watch
某些可以用bar
没一个好的。其实我忘记了一个命令。
Re: shell 输出进度条
发表于 : 2012-06-26 15:32
由 枫叶饭团
[bash]
time1=`date +'%s'`
go() {
time2=`date +'%s'`
for ((;i<=$(($time2-$time1));i+=1))
do
printf ">"
done
}
while :
do
go
sleep 0.1
done
[/bash]今天心情好就写帮你写个了,授之以鱼不如授之以渔
Re: shell 输出进度条
发表于 : 2012-06-26 15:40
由 mad_frog
eexpress 写了:某些命令带-v
某些可以用rsync代替
某些如dd可以用watch
某些可以用bar
没一个好的。其实我忘记了一个命令。
想起来了么
-v rsync watch bar只是运行带个命令才能看到结果的吧,
Re: shell 输出进度条
发表于 : 2012-06-26 16:09
由 mad_frog
应该可以通过pid查看进程,
cp -rf /home/server.tar.gz /root/ &
echo -ne "\033[1;31mCopy files , please wait "
#
i=0
while [ $i -lt 100000000 ]
do
for j in '-' '\\' '|' '/'
do
echo -ne "\033[1D$j"
usleep 50000
done
((i++))
if [ -s `pidof -s cp` ]; then
echo -e "\033[1D\033[1;31mOK! \033[0m"
break
fi
done
Re: shell 输出进度条
发表于 : 2012-06-26 17:36
由 aerofox
mad_frog 写了:我的意思是它进度是根据我的脚本运行的时间来运行的呀
如果是想显示百分比,那么恐怕没有通用的办法。
Re: shell 输出进度条
发表于 : 2012-06-26 18:11
由 longxin1991
学习了....
Re: shell 输出进度条
发表于 : 2012-06-26 20:13
由 cao627