zoukankan      html  css  js  c++  java
  • SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件

    前言:

          无论什么编程语言都离不开条件判断。SHELL也不例外。

     if list then 
              do something here 
          elif list then 
              do another thing here 
          else 
             do something else here 
    fi 
       

    EX1:

    #!/bin/bash
    if [ `uname -m` == "x86_64" ];then
    machine=x86_64
    elif [`uname -m` == "i686"];then
    machine=i686
    else
    machine=whatIsThat
    fi
    echo $machine

    基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。

    1 字符串判断

    str1 = str2      当两个串有相同内容、长度时为真 
    str1 != str2      当串str1和str2不等时为真 
    -n str1        当串的长度大于0时为真(串非空) 
    -z str1        当串的长度为0时为真(空串) 
    str1           当串str1为非空时为真

    2 数字的判断

    int1 -eq int2    两数相等为真 
    int1 -ne int2    两数不等为真 
    int1 -gt int2    int1大于int2为真 
    int1 -ge int2    int1大于等于int2为真 
    int1 -lt int2    int1小于int2为真 
    int1 -le int2    int1小于等于int2为真

    3 文件的判断

    -r file     用户可读为真 
    -w file     用户可写为真 
    -x file     用户可执行为真 
    -f file     文件为正规文件为真 
    -d file     文件为目录为真 
    -c file     文件为字符特殊文件为真 
    -b file     文件为块特殊文件为真 
    -s file     文件大小非0时为真 
    -t file     当文件描述符(默认为1)指定的设备为终端时为真

    3 复杂逻辑判断

    -a         与 
    -o        或 
    !        非

    结尾

        语法虽然简单,但是在SHELL里使用的时候,他的功能变得强大了。

  • 相关阅读:
    小朋友学数据结构(2):栈
    小朋友学数据结构(1):约瑟夫环的链表解法、数组解法和数学公式解法
    小朋友学C++(2)
    小朋友学C++(1)
    小朋友学C语言(8)
    小朋友学C语言(7)
    小朋友学C语言(6)
    小朋友学C语言(5):常量和变量,for循环
    小朋友学C语言(4):单精度浮点数与双精度浮点数
    小朋友学C语言(3):整数、浮点数、字符
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3787818.html
Copyright © 2011-2022 走看看