誉天Cisco、Linux、Oracle认证论坛[武汉CCNA.CCNP.CCIE.RHCE.RHCA.Oracle.OCP培训]'s Archiver

婷婷 发表于 2010-9-6 16:10

简单写几个脚本让学习脚本的初学者开阔一下思路~

写这个几个脚本的目的 是为了能让初学脚本的爱好者增加一下学习的兴趣和开阔一下思路对于那些高手们就不值一提啦!!

第一个脚本: 乘法表   写一个脚本 显示出来乘法表

内容如下:
vi  1.sh
#!/bin/bash
i=1      //定义变量
j=1      //定义变量
while [ $i -le $9 ]        //当i 值小于9 执行下面语句
do
     while [ $j -le $i ]         //当j值小于 i值的时候 执行下面语句
do
echo -n "${j} x ${i}=`expr $j \* $i ` "   // 输出的形式
    let j++                //执行到这里把j值加1
done
echo ""
let i++
j=1   //重新定义j的值等于1
done

第二个脚本: 判断一个数为偶数还是奇数 或者 0   
  意思是 写一个脚本执行由操作人员输入一个数字 等判断出是什么数来。

vi  2.sh
#!/bin/bash
read -p " input number" aa  //让操作员输入数之后给变量aa
if  [ aa -ep 0  ]     //如果aa值等于0就执行下面的语句 否则跳到elif
then
echo " this is 0 " //如果 aa等于0 就输出这句话
elif [ `expr $aa % 2` -eq 0 ]    //计算aa变量的值除2是否等于0  如果等于则执行下面语句
then
echo " this is 偶数 "  //上面的条件成立了 就能证明aa的值是偶数
else                                   // 如果上面的俩个条件判断都不成立就执行下面语句
echo “this is 奇数”//  输入的数不是偶数 不是0的话 一定是奇数啦
fi



第三个脚本:算出1-100之间的偶数和
vi 3.sh
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]    //i的值 小于100执行下面语句
do
   while [ `expr $i % 2` -eq 0 ]   // i的值除2 等于0 就执行下面的语句
do
sum = ` expr $sum + $i ` //计算sum的值 也就是所以偶数的和
let i++        // 重新定义i的值
done                                 //如果满足了 就向上面在循环 一直到上面的条件不满足为止
let i++       // 重新定义i的值
done
echo "he shi $sum"  / / 当判断完之后算出的偶数和

[size=4][color=red]2010-09-02 更新[/color][/size]
第四个脚本  找出1 到 999之间 那些是莲花数   
莲花数就是   每位数的立方(m³) 相加起来等于源数本身
例如:153    1立方是1   5的立方是125    3 的立方是27            1+125+27=153

#!4.sh
i=100       // 定义一个变量     
while [ $i -le 999 ]          //i的值如果小于 999 就执行下面语句
do
a= `expr $i / 100`            // 定义a的变量    是由 i的值除100的值所得     (求出百位数)
temp=`expr $i %100`      //在定义一个temp的变量 是由 i的值除100 所得余数的值
b=`expr $temp / 10`        //在定义b的变量   是有temp也就是十位上的数在除10 所得值  (求出十位数)
c=`expr $temp % 10`      //在定义c的变量  是由temp 值 除10 所得出的 余数           (求出个为数)
he=`expr $a \* $a \* $a + $b \* $b \* $b + $c \* $c \* $c`            //  让得出的三位数都位数都立方后相加 得出一个数
if [ $i -ep $he ]       //用i的值比较 立方后相加的数 是否相等   如果相等 就代表是莲花数 就执行下面语句
then
echo "$i 这是莲花数"                 //把莲花数显示出来
fi
let i++         //这是当i的值执行到这的时候 加上1 在到前面去条件判断,例如:先判断的是100 当执行到这的在             加上1 就等于101 之后返回最上面接着判断,一直加999的时候 不满足上面的条件判断 就退出循环
done

[size=5][color=red]2010年09月03日 更新[/color][/size]
第5个 脚本  由用户从键盘输入一个大于1的整数。并计算从1到该数之间的各整数的和。
vi 5.sh
#!/bin/bash
read -p "Input a number (>1):"  up          //读取用户指定的数值保存到up变量
i=1          // 定义变量 从整数1开始计算
sum=0       //这个变量用户保存各个整数之和
while [ $i -le $up ]    //加数小于用户指定的上限时执行循环
do
sum=`expr $sum + $i`  //将整数 i的值 累加给变量sum
i=` expr $i + 1`        //将整数i的值增加1  参加下一次循环
done
echo "the sum of 1-$up is :" $sum''          //输出求和结果

[size=4][color=red]2009年09月04日 更新[/color][/size]
[size=4][color=#ff0000][/color][/size]
[size=4][color=black]第5个脚本   批量增加系统用户,用户名依次是 user1 user2 user3.....user20[/color][/size]
[size=4]vi 5.sh[/size]
[size=4]#!/bin/bash[/size]
[size=4][color=black]i=1                         // 定义一个变量[/color][/size]
[size=4]while [ $i -le 20 ]           //i的值小于20 执行下面的[/size]
[size=4]do[/size]
[size=4]useradd user$i           增加用户 当上面i=1时  这里就是 user1[/size]
[size=4]echo "123456" | passwd --stdin user$i &> /dev/null     为用户账户设置初始密码[/size]
[size=4]let i++        将i值增加1  回到上面继续判断  [/size]
[size=4]done [/size]
[size=4][color=#ff0000][/color][/size]
[size=4][color=#ff0000][/color][/size]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.