zoukankan      html  css  js  c++  java
  • 【转】linux if 判断

    UNIX Shell 里面比较字符写法:

    -eq   等于-ne    不等于-gt    大于-lt    小于-le    小于等于-ge   大于等于-z    

    空串=    两个字符相等!=    两个字符不等-n    非空串

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

    大体的格式如下:
    if list then
    do something here
    elif list then
    do another thing here
    else
    do something else here
    fi 

    一个例子:

    #!/bin/sh

    SYSTEM=`uname -s` # 获取操作系统类型,我本地是linux

    if [ $SYSTEM = "Linux" ] ; then # 如果是linux话输出linux字符串
    echo "Linux"
    elif [ $SYSTEM = "FreeBSD" ] ; then  
    echo "FreeBSD"
    elif [ $SYSTEM = "Solaris" ] ; then
    echo "Solaris"
    else
    echo "What?"
    fi # 判断结束,以fi结尾

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

    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 文件相关的if判断条件语句

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

    3 复杂逻辑判断
    -a        与
    -o       或
    !       非

    语法虽然简单,但是在SHELL里使用的时候,它可以实现强大的功能或执行逻辑。

    每天进步一点点,快乐生活多一点。
  • 相关阅读:
    VUE 多页面配置(二)
    VUE 多页面配置(一)
    VUE (vue-cli)脚手架项目说明
    CSS 三角形与圆形
    协同过滤算法之组合加权评分
    用户投票算法
    Android开发学习总结(一)——搭建最新版本的Android开发环境
    关于统计变换(CT/MCT/RMCT)算法的学习和实现
    SIFT 特征提取算法总结
    Android Listener侦听的N种写法
  • 原文地址:https://www.cnblogs.com/yiruliu/p/9971161.html
Copyright © 2011-2022 走看看