if 条件测试命令
then 命令序列
fi
if语句简单应用示例
#!/bin/bash temp=2 if [ $temp -eq 2 ] then echo 'temp is 2' fi
保存为test文件,并将它设置为可执行(+x)
[jzhou@localhost ~]# chmod 775 test
[jzhou@localhost ~]# bash test
temp is 2
(备注:lthen可以写到与if一行,但要用分号隔开,例如: if [ $RATE -gt 80 ] ; then)
单分支:
if 条件测试命令
then 命令序列1
else 命令序列2
fi
判断mysqld是否在运行,若已运行则输出提示信息,否则重新启动mysqld服务
#!/bin/bash service mysqld status &> /dev/null if [ $? -eq 0 ] ==>判断上句是否执行成功 then echo "mysqld service is running." else /etc/init.d/mysqld restart fi
提示用户输入一个整数,如何判断该值是否小于100? read “Input an integer:” NUM ; if [ $NUM -lt 100 ] ; then echo “小于100” else echo “大于或等于100” fi
多分支:
if 条件测试命令1 ; then
命令序列1
elif 条件测试命令2 ; then
命令序列2
elif ...
else
命令序列n
fi
for循环语句——根据变量的不同取值,重复执行一组命令操作
for语句的结构
for 变量名 in 取值列表
do
命令序列
done
for语句简单应用示例
依次输出3条文字信息,包括一天中的“Morning”、“Noon”、“Evening”字串 [root@localhost ~]# vi showday.sh #!/bin/bash for TM in "Morning" "Noon" "Evening" do echo "The $TM of the day." done
[root@localhost ~]# sh showday.sh The Morning of the day. The Noon of the day. The Evening of the day
示例2:获得用户的满足条件的文件数
#!/bin/bash DIR="/opt" LMT=100 ValidUsers=`grep "/bin/bash" /etc/passwd | cut -d ":" -f 1` ==>获得使用bash作为登录shell的用户名列表 for UserName in $ValidUsers do Num=`find $DIR -user $UserName | wc -l` if [ $Num -gt $LMT ] ; then echo "$UserName have $Num files." fi done
[root@localhost ~]# sh chkfileown.sh root have 6737 files. teacher have 344 files.
2015职称计算机考试书PowerPoint2007中 .. 定价:¥45 优惠价:¥42 更多书籍 | |
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 |