shell脚本实例

1.1开启关闭跟踪命令

#! /bin/sh

set �Cx /*该命令为逐步进行跟踪*/

who | wc �Cl  /*该命令是显示当前登录用户的个数*/

ls -lh

set +x/*关闭跟踪命令*/

pwd


1.2关闭终端打印和开启终端打印输出

(FUDE-0.4.2@i386)[root@SZ-FH-SERVER bin]#vi test


#! /bin/sh

echo "put password:"

stty �Cecho  /*关闭终端打印输出功能*/

read try /*读入输入值*/

a=1

while [ "$try" != "123456" -a "$a" -lt 3 ] /*-a 是逻辑运算符的与运算,两都为是返回“是”*/

do

   echo "sorry,try again:"

   read try

   ((a+=1)) /*算法方法之一,双括号法*/

done

stty echo /*打开终端打印输出功能*/

l9 9乘法表/*该脚本没有整齐的排练,只是以列表的方式排练出来*/

#! /bin/sh

  i=1

while [ $i -le 9 ]/*le为整数运算符的“小于等于*/

  do

     j=1

    while [ $j -le 9 ]

    do

    ((k=$i*$j))

   echo  " $i*$j= $k  "

   j=$[$j+1]

   done

     ((i+=1))

done

1.3两个数的比较大小

(FUDE-0.4.2@i386)[root@SZ-FH-SERVER bin]#cat if

#! /bin/sh

echo "the first number:"

read first

echo "the second number:"

read second

if [ "$first" -gt "$second" ]; then

   echo "first is greater than second"

 elif [ "$first" -lt "$second" ]; then

    echo "first is samller than second "

 else

    echo "first is equal to second "

fi




2循环总结

2.1For循环

For循环举例一

#! /bin/sh

for fruitin apple banana pear; do/*列表中以空格相隔,表示换行,如果以逗号相隔,一次排练*/

 echo " i like $fruit"

done

For举例二

求从1~100的累积和

#! /bin/sh

sum=0

for ((i=1;i<=100;i++));/* for 语句中的双括号不能省略最后的分号可有可无*/

do

((sum=$sum+$i)) /*变量sum写入双括号内*/

done

echo "sum=$sum"

运算结果:

sum=5050

2.2While循环

While 举例一

#! /bin/sh

echo " enter password : "

read try

while [ "$try" != "secret" ]; do

 echo "sorry, try again"

 read try

done

While举例二――嵌入式循环

(FUDE-0.4.2@i386)[root@SZ-FH-SERVER bin]#cat xu

#! /bin/sh

i=0

j=0

while [ "$i" -lt 2 ] /*while可以嵌入循环,该例子就是嵌入循环*/

do

 while [ "$j" -lt 3 ]

 do

   echo $i, $j

   j=$(($j+1))   /*j的自加1.相同于C中的j++*/

 done

j=0

i=$(($i+1))

done




#shell 脚本


你可能感兴趣的:(shell,脚本,跟踪命令)