`
silentlakeside
  • 浏览: 108723 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

BASH - 逻辑表达式

 
阅读更多

以下均用if语句用作逻辑表达式的例子。注意左右两方括号和条件表达式之间都必须有空格。

 

  1. 字符串判断
    # 空和非空可以用于判断变量是否已经定义
    if [ -z "$var" ]; then
        # 空
    fi
    if [ -n "$var" ]; then
        # 非空
    fi
    if [ "$var" == "Y" ]; then
        # 相等
    fi
    if [ "$var" != "Y" ]; then
        # 不等
    fi 
  2. 判断文件状态
    if [ -e $var ]; then
        # 文件或者目录存在
    fi
    if [ -f $var ]; then
        # 一般文件存在
    fi
    if [ -d $var ]; then
        # 目录存在
    fi 
  3. 数字比较
    if [ $var -eq 1 ]; then
        # 等于
    fi
    if [ $var -ne 1 ]; then
        # 不等于
    fi
    if [ $var -gt 6 ]; then
        # 大于
    fi
    if [ $var -lt 5 ]; then
        # 小于
    fi
  4. 逻辑或、逻辑与
    if [ $var -lt 5 -o $var -gt 6 ]; then
        # 小于5或者大于6
    fi
    if [ $var -gt 2 -a $var -lt 6 ]; then
        # 大于2而且小于6
    fi
分享到:
评论

相关推荐

    高级Bash脚本编程指南(Advanced Bash-Scripting Guide)中英文版本

    **ABS(Advanced Bash-Scripting Guide)指南详细介绍了Bash shell的各种特性,包括变量、控制结构、函数、输入/输出重定向、条件测试、正则表达式等核心概念。** 1. **变量**:在Bash脚本中,变量用于存储数据,...

    Advanced Bash-Scripting Guide (包括中译本)

    2. **流程控制**:Bash支持if、for、while和until等条件和循环结构,这些结构在编写逻辑复杂的脚本时不可或缺。教程会介绍如何使用这些结构来实现条件判断和迭代操作。 3. **函数**:通过定义和调用函数,可以将...

    Bash-Scripting-源码.rar

    - Bash支持正则表达式匹配,如`[[ string =~ pattern ]]`进行模式匹配。 7. **文件与目录操作** - **文件测试**: `-f`, `-d`, `-e`, `-r`, `-w`, `-x`等用于测试文件属性。 - **文件处理**: `touch`, `cp`, `mv`...

    abs-guide----Advanced Bash-Scripting Guide

    本书的后续章节继续深入到更复杂的主题,如变量的进一步探索、字符串操作、循环与分支、命令替换、算术扩展、函数、数组、间接引用等,还包括了系统和管理命令、正则表达式、重定向、子shell、受限shell、进程替换等...

    Advanced Bash-Scripting Guide

    8. **正则表达式**:在脚本中使用正则表达式进行文本匹配和替换,增强脚本的处理能力。 9. **错误处理和调试**:学习如何捕获和处理脚本运行时的错误,以及如何使用set命令进行调试。 10. **脚本调试与测试**:...

    Advanced Bash-Scripting

    8. **正则表达式与模式匹配**:Bash支持正则表达式,可以在条件测试中使用,如`[[ $string =~ pattern ]]`,也可以配合`grep`等工具进行文本搜索。 9. **错误处理和调试**:良好的脚本应该包含适当的错误处理机制,...

    Advanced Bash-Scripting Guide 网页离线版

    6. **正则表达式**:学习使用正则表达式进行文本匹配和模式查找,这对于文件名操作、文本处理和数据分析非常有用。 7. **条件和比较运算符**:熟悉各种条件测试和比较运算符,如`-eq`, `-ne`, `-lt`, `-gt`等,用于...

    Bash-Beginners-Guide.zip_bash_beginners

    7. **正则表达式**:理解正则表达式在Bash中的应用,用于匹配和处理字符串。 **进阶话题** 1. **进程管理**:使用`&`后台运行命令,`jobs` 查看当前进程,`fg` 和 `bg` 控制进程前后台状态。 2. **信号处理**:...

    Advanced.Bash-Scripting.Guide.Cn.txt

    Bash支持`if`、`for`、`while`等常见的逻辑控制结构,以及更为复杂的`case`和`select`结构。 #### 五、函数与子shell ##### 5.1 定义函数 可以使用`function`关键字或直接定义的方式来创建函数: ```bash ...

    Advanced Bash-Scripting Guide 6.3.04

    7. **正则表达式和模式匹配**:讲解Bash中的正则表达式支持,以及在字符串操作和文件名扩展中的应用。 8. **条件和算术扩展**:包括测试命令(test和[ ])的使用,以及算术运算符和表达式的解释。 9. **陷阱和信号...

    bash-beginners-guide.zip_beginners

    =,<,>),逻辑运算符(&&,||)。 4. **函数**:定义函数以封装代码,如`function myFunction() { commands; }`。 5. **条件测试**:`[[ ... ]]`或`test`命令用于测试表达式的真伪,例如检查文件是否存在,或比较...

    Advanced Bash-Scripting Guide-5.0-Mendel Cooper.pdf

    此外,还提供了关于字符串处理的进一步讨论,涵盖了正则表达式、文本搜索和替换等高级主题。 ### 八、结论 《高级Bash脚本编程指南》不仅是一本教学书籍,也是一份自我学习手册和参考资源。通过丰富的练习和注释...

    eac-bash-lib

    9. **流程控制**:Bash支持流程控制结构,如if-else、case、for、while等,"eac-bash-lib"可能提供了这些结构的通用实现,便于快速构建逻辑流程。 10. **国际化和本地化**:如果"eac-bash-lib"包含i18n(国际化)和...

    linux-bashassert一个轻量级的bash单元测试框架

    4. **包含断言**:`assert_in_list`检查一个值是否存在于给定的数组中,这对于测试数组操作和过滤逻辑十分实用。 5. **文件存在断言**:`assert_file_exists`和`assert_file_not_exists`可以验证文件或目录是否存在...

    bash-script-template:最佳实践Bash脚本模板,具有几个有用的功能

    例如,可以使用`if`语句检查变量是否为空,或者使用正则表达式确认输入格式正确。 ### 4. **函数化** 通过将相关任务封装为函数,可以提高代码的可读性和可重用性。例如,可以创建一个`log()`函数来记录日志,或者...

    Bash Beginners Guide(中文版) - Machtelt Garrels

    - **有序且有逻辑性**:脚本应遵循一定的逻辑顺序,便于维护和理解。 - **脚本示例**:通过具体的脚本示例来学习Bash脚本的基本结构和用法。 #### 二、编写和调试脚本 - **建立并且运行一个脚本**: - **编写与...

    bash-scripting

    8. **正则表达式**:在bash中使用正则表达式进行文本匹配和搜索替换。 9. **函数和脚本调试**:如何设置bash的调试选项,以及使用set命令来控制脚本的行为。 10. **错误处理**:异常处理机制,包括错误检测和退出...

    Bash-Temperature-Converter:用Bash脚本编写的温度转换器

    4. **算术运算**:Bash允许使用算术表达式进行计算,如 `(fahr - 32) * 5 / 9` 用于将华氏度转换为摄氏度。 5. **函数**:可以定义函数来封装重复的逻辑,例如一个用于转换温度的函数。 **温度转换**: 1. **摄氏度...

    advanced-bash-automation:先进的bash自动化

    5. **函数编程**:Bash函数可以包含复杂的逻辑,如错误处理、参数处理和递归。 **文件和目录操作** 1. **文件操作**:`touch`创建或更新文件时间戳,`cp`和`mv`复制和移动文件,`rm`删除文件。 2. **目录操作**:...

Global site tag (gtag.js) - Google Analytics