1.计算1到100的和html
#!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] #核心语句作加减法 done echo $sum
2.列出etc目录下的全部目录shell
#!/bin/bash cd /etc/ #进入etc for a in `ls /etc/` #for循环ls etc do if [ -d $a ] #判断是不是目录 $a then echo $a #显示$a ls $a #查看$a fi done
最多见的for循环bash
[root@aming-01 shell]# for i in `seq 1 3`; do echo $i ;done 1 2 3
语法: while 条件; do command ; done.spa
每隔30秒检查系统负载,当负载达到10,发一份邮件 : 冒号 和 ture 是同样的效果3d
#!/bin/bash while true do load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1` if [ $load -gt 10 ] then /usr/local/sbin/mail.py zhuneianxiang@163.com "load high" "$load" #发邮件(发邮件脚本的路径) fi sleep 30 #休息三十秒 done
让用户不断的输入纯数字,才中止换算:code
#!/bin/bash while : #while死循环 do read -p "Please input a number: " n #用户交互,输入一个数 if [ -z "$n" ] #判断n是否为空,空结束本次循环 then echo "you need input sth." continue fi n1=`echo $n|sed 's/[0-9]//g'` #将n中非数字的部分赋值给n1 if [ ! -z "$n1" ] #判断n1是否为空,不为空,说明不全是数字,continue结束本次循环,为空,break跳出循环 then echo "you just only input numbers." continue fi break done echo $n #打印出输入的数
#!/bin/bash for i in `seq 1 5` do echo $i if [ $i -eq 3 ] then break fi echo $i done echo aaaaa
#!/bin/bash for i in `seq 1 5` do echo $i if [ $i -eq 3 ] then continue fi echo $i done echo aaaaa
扩展
select用法 http://www.apelearn.com/bbs/thread-7950-1-1.htmlhtm