shell 案例

时间 : 14-06-14 栏目 : Shell进阶 作者 : 老薛 评论 : 0 点击 : 1,011 次

1.用shell求出从1至100的累加和

第一种:设名为 1.sh

sum=0
a=1
b=100
while [ $a -lt $b ]
do
c=`expr $a + $b`
sum=`expr $sum + $c`
a=`expr $a + 1`
b=`expr $b - 1`
done
echo $sum

 

第二种:设名为 2.sh

a=0
number=0
while [ $number -le 100 ]
do
a=`expr $a + $number`
number=`expr $number + 1`
done
echo $a

第三种:设名为3.sh

a=1
sum=0
while [ $a -le 100 ]
do
((sum=sum+a))
((a=a+1))
done
echo $sum

第四种:设名为 4.sh

a=1
sum=0
while :
do
test $a -gt 100 && { echo $sum exit }
((sum=sum+a))
((a=a+1))
done

再来个awk版的 5.sh,不过效率稍差点,但是最精简

echo |awk '{for (i=1;i<=100;i=i+1) a=a+i} { print a}'

2.输出1到1000中能被7正常的数到/home/johnny中,并在屏幕中输出这些数之和!

#!/bin/sh

sum=0
for a in `seq 1 1000`
do
if [ `expr $a % 7` -ne 0 ]
then
continue
fi
echo $a>>/home/johnny/print
sum=`expr $sum + $a`
done
echo "sum = $sum"

3.利用循环计算10的阶乘

#!/bin/bash
#factorial

factorial=1
for a in `seq 1 10`
do
factorial=`expr $factorial \* $a`
done
echo "10!=$factorial"

4.一个函数,利用shift计算所有参数乘积,假设参数均为整数

#!/bin/bash
#result
result=1
while [ $# -gt 0 ]
do
result=`expr $result \* $1`
shift
done
echo $result

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/shell/49.html

shell 案例:等您坐沙发呢!

发表评论

2 + 3 = ?


博主微信号,很高兴为您提供帮助

随便看看

0