1. shell编写进度条
i=0
bar=''
lable=("|" "/" "-" "\\")
while [ $i -le 100 ]
do
printf "[\e[43;46;1m%-100s\e[0m][%d%%][%c]\r" "$bar""$i""${lable[i %4]}"
let i++
bar=${bar}'#'
sleep 0.1
done
printf "\n"
2. 求至少三个数字的最大,最小,平均值
if [ $# -lt 3 ];then
17 echo "please enter data"
18 exit 1
19 fi
20
21 i=0
22 min=$1
23 max=$1
24 sum=0
25 for i in {$@}
26 do
27 if [ $i -gt $max ];then
28 max=$i
29 elif [ $i -lt $min ];then
30 min=$i
31 fi
32 let sum+=$i
done
34 echo "the maxnum is $max"
35 echo "the minnum is $min"
36 echo $sum
37 echo " ibase=10; scale=2; $sum/$#" | bc
3. shell编写斐波那契数列和
40 n=$1
41 first=1
42 second=1
43 ret=1
44 i=3
45 while [ $i -le $n ]
46 do
47 let ret=first+second
48 let first=second
49 let second=ret
50 let i++
51 done
52 echo $ret
4. 改变文件内容
123abc456
456def123
567abc789
789def567
要求输出:
456ABC123
123DEF456
789ABC567
567DEF789