shell script 之四:流程控制 if 分支语句

if  条件判断

基本语法:

1:单分支:
if  [ 判断条件 ]; then
    符合该条件执行的语句
fi
2:多分支:
if  [ 判断条件1 ]; then
       符合该条件1执行的语句
  elif  [ 判断条件2 ]; then
       符合该条件2执行的语句
  elif  [ 判断条件3 ]; then
       符合该条件3执行的语句
  else
       符合该条件执行的语句
fi

注意:if 和else分支都不能为空,必须要有内容。一个if要对应一个fi结尾。

 

#!/bin/sh
#test for if by sunny at 2013

read -p "请输入你的成绩:" m

if [ $m -ge 90 ]; then
    echo "$m, very good!"
  elif [ $m -ge 70 -a $m -le 89 ];then
    echo "$m, good~"
  elif [ $m -ge 60 -a $m -le 79 ];then
    echo "$m, so so ~~"
  elif [ $m -lt 60 ];then
    echo "$m ?,this is bad"
  else 
    echo "your input is wrong"
fi
  

[root@test65 script]# sh if.sh 
请输入你的成绩:90
90, very good!
[root@test65 script]# sh if.sh 
请输入你的成绩:80
80, good~
[root@test65 script]# sh if.sh 
请输入你的成绩:60
60, so so ~~
[root@test65 script]# sh if.sh 
请输入你的成绩:50
50 ?,this is bad

  

常用判断:

[ -d  /www ]   判断/www是否存在,不存在为false

[ -f   file ]      判断file是否为普通文件

[ -e  file  ]     判断file是否存在

[ file1 -nt file2 ]   file1是否比file2新(new than)

[ file1 -ot file2 ]   file1是否比file2旧(old than)

-r、-w、-x表示文件是否有可读、可写、可执行权限(指运行这个脚本的用户)

 

例子:

#!/bin/sh
#if test
#by sunny 2012

#检查目录是否存在
if [ -e /data/www ];then
    echo "the dir is exist"
  else 
    echo "the dir is none"
    mkdir -p /data/www
    echo -e " \033[32m create dir:/data/www \033[0m "
fi

sh if2.sh 
the dir is none
create dir:/data/www

  

 

         

 

posted @ 2018-03-20 17:18  sunny18  阅读(217)  评论(0编辑  收藏  举报