#!/bin/bash
param_list=$*
param_num=$#
total_size=0
for((i = 0; i
do[ ! -r $1 ] && echo "cannot read $1." && exit 1
size=`du -s $1 | awk ''`
((total_size = total_size + size))
shift
done
target=$1
start_time=`date +%s.%n`
cp -a $param_list &
echo -ne "total size: $total_size kb - %"
while true
dolen_percent=$
for((i = 0; i <= len_percent; i++))
doecho -ne "\b"
done
copied=`du -s $target | awk ''`
((percent = copied * 100 / total_size))
echo -ne "$percent%"
((percent == 100)) && end_time=`date +%s.%n` && break
done
mb_second=`echo $total_size/1024/\($end_time-$start_time\)|bc`
echo " - speed: $mb_second mb/s"
首先將如下指令碼放置在/usr/bin下,
要使用cp指令時,以大寫cp指令,代替小寫cp. (當然你可以自己修改指令碼定製適合自己的命令)
指令碼內容:
#!/bin/bash
source=$1
target=$2
#cp=./fack_cp
cp=cp
$cp "$source" "$target" &
cpid=$!
isalive()
out=`ps -p $1 2> /dev/null`
return $?
while [ 1 ]; do
ssize=`/bin/ls -l $source | awk ""`
if [ -f $target ]; then
tsize=`/bin/ls -l $target | awk ""`
else
tsize="0"
fipercent=`echo "scale=2; $tsize/$ssize*100" | bc -l`
rate=`echo "scale=0; 63*$percent/100" | bc -l`
blue="\\033[3;44m"
normail="\\033[0;39m"
bar=$blue
i=0while [ $i -le 62 ]; do
[ $i = $rate ] && bar=$bar"\\033[7;39m"
bar=$bar" "
let i=$i+1
done
bar=$bar$normail
echo -en "\r$bar $%"
if ! isalive "$cpid"; then echo -en "\n"; exit; fi
sleep 1
done
tar 命令顯示進度條
實現該功能需要安裝 pv,然後把需要處理的資料通過管道傳給 pv,最後再進行操作。傳給 pv 的目的是為了知道已經處理的資料量大小,同時需要通過 s 指定總共需要處理的資料量大小。pv 的安裝一般的軟體管理工具都有提供 如 centos 下 yum install pv ubuntu apt get...
進度條顯示
最近的專案需求中涉及到了顯示進度的圖示,因此就簡單實現了一下,拿出來獻醜了 方法實現很簡單,主要是使用了framelayout的特殊性來實現的疊加顯示的 有次需求的同學們可以參考一下呦3 成功的 失敗的 進行中的 初始化 param attrs private void initview attri...
如何顯示進度條?
在許多程式中,程式需要自己做些事情而不受使用者輸入的干擾。這時就需要給使用者一些可見的顯示,以表明程式正在做一些事情及完成的進度。在wxpython中,這通常使用乙個進度條來管理,如圖9.5所示。圖9.5 例9.5顯示了產生圖9.5的 例9.5 生成乙個進度條 import wx if name m...