1.1开启关闭跟踪命令
#! /bin/sh
set –x /*该命令为逐步进行跟踪*/
who | wc –l /*该命令是显示当前登录用户的个数*/
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 –echo /*关闭终端打印输出功能*/
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