SHELL编程(四)---------选择逻辑结构

Linux Shell 选择结构详解
本文详细介绍了 Linux shell 中的 if-then 和 case-esac 两种选择结构的使用方法及语法,包括条件表达式和逻辑表达式的具体用法。

选择结构是程序中带有判断的一种逻辑结构,只有符合一定的条件,程序体才会被执行.

Linux shell 选择结构分类:

  1. if-then控制结构
  2. case--esac控制结构  

一,if控制结构

基本上和高级语言类似,可以没有else,可以嵌套使用.

 if [ 条件 ];then     #满足条件执行then里面的语句
          语句1...
  else
           语句2...
   fi          #结束if

 

 条件表达式

  1,文件表达式

if [ -f  file ]    如果文件存在
if [ -d ...   ]    如果目录存在
if [ -s file  ]    如果文件存在且非空 
if [ -r file  ]    如果文件存在且可读
if [ -w file  ]    如果文件存在且可写
if [ -x file  ]    如果文件存在且可执行   

  2,整数变量表达式

if [ int1 -eq int2 ]    如果int1等于int2   
if [ int1 -ne int2 ]    如果不等于    
if [ int1 -ge int2 ]       如果>=
if [ int1 -gt int2 ]       如果>
if [ int1 -le int2 ]       如果<=
if [ int1 -lt int2 ]       如果<
   

  3,字符串变量表达式

If  [ $a = $b ]                 如果string1等于string2
                                字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空
if  [ $sting ]                  如果string 非空,返回0 (和-n类似)  

 

逻辑表达式

逻辑非 !                   条件表达式的相反
if [ ! 表达式 ]
if [ ! -d $num ]                        如果不存在目录$num


    逻辑与 –a                    条件表达式的并列
if [ 表达式1  –a  表达式2 ]


    逻辑或 -o                    条件表达式的或
if [ 表达式1  –o 表达式2 ]  

---------------------------------------------------------------------------------------------

case语句适用于需要进行多重分支的应用情况,它也是选择结构中常用的一种控制结构。

   case分支语句的格式如下:
            case $变量名 in                # 严格掌握其语法 
                模式1)                       # 右括号不能省
                命令序列1
                ;;                               # 两分号不能省
                模式2)
                命令序列2
                ;; 
                *)
                默认执行的命令序列 
                ;; 
            esac                             #结尾反写case表示结束。

 

转载于:https://www.cnblogs.com/CHYI1/p/5391436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值