• shell中的条件判断以及与python中的对比


    shell中比如比较字符串、判断文件是否存在及是否可读等,通常用"[]"来表示条件测试。

    注意:这里的空格很重要。要确保方括号的空格。

    if ....; then                   python中的条件判断:   if ....:    (此处是冒号,不同于shell的分号)       

    ....                        (由于强制缩进,所以不需要 fi)  ....   (python时注意必须缩进四个字符)

    elif ....; then                                                 elif ....:

    ....                                                                    ....

    else                                                             else:

    ....                                                                     ....

    fi

    均可包含多个elif

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

    [ -f "somefile" ] :判断是否是一个文件

    [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限

    [ -n "$var" ] :判断$var变量是否有值

    [ "$a" = "$b" ] :判断$a和$b是否相等

    -r file     用户可读为真

    -w file     用户可写为真

    -x file     用户可执行为真

    -f file     文件为正规文件为真

    -d file     文件为目录为真

    -c file     文件为字符特殊文件为真

    -b file     文件为块特殊文件为真

    -s file     文件大小非0时为真

    -t file     当文件描述符(默认为1)指定的设备为终端时为真

    含条件选择的shell脚本 对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包括比较运算、判断文件是否存在等。

    基本的if条件命令选项有:

    - eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])

    -ne —比较两个参数是否不相等

    -lt —参数1是否小于参数2

    -le —参数1是否小于等于参数2

    -gt —参数1是否大于参数2

    -ge —参数1是否大于等于参数2

    -f — 检查某文件是否存在(例如,if [ -f "filename" ])

    -d — 检查目录是否存在

    几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。

  • 相关阅读:
    MySQL常用函数大全讲解
    mysql 获取最近一个月每一天
    Mysql查询某个月的每一天的数据
    Mysql 查询一天中,每个小时数据的数量
    oracle 和 mysql 遍历当前月份每一天
    sql查询总结
    Qt样式表——选择器详解(父子关系,插图详细解释)
    Qt样式表之盒子模型(以QSS来讲解,而不是CSS)
    程序员晋升必备技能——单元测试框架(小豆君的干货铺)
    为什么川普反对中国补贴农业(渐进式发展是非常正确的,如果贸然改动农村土地制度,在城市还不能提供足够的就业岗位下将大量的农民推向城市……请欣赏一下巴西、印度城市的贫民窟)
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/4533536.html
Copyright © 2020-2023  润新知