1 if单分支
语法构成:
- if 条件测试;then
 - 命令序列
 - fi
 
[root@localhost opt]# vim test02.sh
#!/bin/bash
if [ $UID -eq 0 ];then	
  echo "我是管理员"
  echo ok
fi
[root@localhost opt]# bash test02.sh
我是管理员
ok2 if双分支
语法构成:
- if 条件测试;then
 - 命令序列1
 - else
 - 命令序列2
 - fi
 
[root@localhost opt]# vim test02.sh
#!/bin/bash
if [ $UID -eq 0 ];then
    echo "我是管理员"
    echo ok
else
    echo "不是管理员"
    echo no
fi
[root@localhost opt]# su - zhangsan		#换用户进行测试
[zhangsan@localhost ~]$ cd /opt/
[zhangsan@localhost opt]$ bash test02.sh
不是管理员
no
[zhangsan@localhost opt]$ exit
注销
[root@localhost opt]#3 if多分支
语法构成:
- if 条件测试1 ;then
 - 命令序列1
 - elif 条件测试2 ;then
 - 命令序列2
 - else
 - 命令序列n
 - fi
 
编写脚本,输入参数判断成绩;
成绩大于等于90-小于100为优秀,
成绩大于等于80-小于89为良好;
成绩大于等于60-小于79为合格;
成绩小于60为不合格。
如果输入其他数字则提示输入不规范,请输入0-100之间的数
[root@localhost opt]# vim count.sh
#!/bin/bash
read -p "请输入你的月考成绩:" a
if [ $a -gt 100 ] || [ $a -lt 0 ];then
    echo 请输入0-100的数字!!!
elif [ $a -ge 90 ];then
    echo 优秀
elif [ $a -ge 80 ];then
    echo 良好
elif [ $a -ge 60 ];then
    echo 及格
else
    echo 不及格
fi4 case 单条判断
- case $变量名称 in
 - 模式1)
 - 命令序列1
 - ;;
 - 模式2)
 - 命令序列2
 - ;;
 - 模式n)
 - 命令序列n
 - ;;
 - *)
 - 如果上面都不满足,则运行这条命令
 - esac
 
#创建脚本,启动时输入参数与文件名可以文件
[root@localhost opt]# vim case01.sh
#!/bin/bash
case $1 in
    t)						#如果$1是t就执行touch任务
        touch $2;;			#有分号结尾
    m)						#如果$1是m就执行mkdir任务
        mkdir $2;;
    r)						#如果$1是r就执行rm -rf任务
        rm -rf $2;;
    *)
        echo "请输入t、m、r和参数"
esac
[root@localhost opt]# bash case01.sh	#要输入指定参数与文件名	
请输入t、m、r参数与文件名
[root@localhost opt]# bash case01.sh t case.txt
[root@localhost opt]# ls
case.txt5 case 多条判断
- case $变量名称 in
 - 模式1|模式2)
 - 命令序列1
 - ;;
 - 模式3|模式4)
 - 命令序列2
 - ;;
 - 模式n|模式m)
 - 命令序列n
 - ;;
 - *)
 - esac
 
[root@localhost opt]# vim case01.sh
#!/bin/bash
case $1 in
    t|tc)			#如果$1是t或者tc就执行touch任务
        touch $2;;
    m|mk)			#如果$1是m或者mk就执行mkdir任务
        mkdir $2;;
    r|rm)			#如果$1是r或者rm就执行rm -rf任务
        rm -rf $2;;
    *)
        echo "请输入t、m、r和参数"
esac
[root@localhost opt]# bash case01.sh
请输入t、m、r参数与文件名
[root@localhost opt]# bash case01.sh t case.txt
[root@localhost opt]# ls
case.txt









