考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:Linux认证 > 综合辅导 > 文章内容
  

linux从入门到精通(38)

 [ 2016年6月27日 ] 【

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. 
首页 1 2 尾页
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved