`
DiaoCow
  • 浏览: 244184 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

test命令学习以及总结

 
阅读更多
今天我们来学习下test命令,参考文档:man test和info test (这两个真是个好东东!!!)

1.test命令是做什么的?
test命令是用来检查文件(类型或权限等等)以及比较值(可以是字符串也可以是数值)的工具;

2.test命令一般形式:

test EXPRESSION(表达式)

若表达式为真,test返回0;
若表达式为假,test返回1;
若命令出错,test返回2;
若表达式省略,test默认返回1;


我们先看几个例子,感性认识下


3.我们详细看下test命令的比较参数
a.字符串比较:
-n STRING  # 若STRING长度>0返回true
-z STRING  # 若STRING长度==0返回true
STRING1 = STRING2  # 若STRING1与STRING2值相同返回true(ps:也可以使用==)
STRING1 != STRING2 # 若STRING1与STRING2值不同返回true



上图使用了逻辑运算符||和&& ,对于&&只有当左边的命令返回true才会执行右边的命令,而对于||只有左边的命令返回false,才会执行右边的命令

b.数值(整数)比较:
INTEGER1 -eq INTEGER2 # 若数值1等于数值2,返回true
INTEGER1 -ne INTEGER2 # 若数值1不等于数值2,返回true
INTEGER1 -ge INTEGER2 # 若数值1>=数值2,返回true
INTEGER1 -gt INTEGER2 # 若数值1>数值2,返回true
INTEGER1 -le INTEGER2 # 若数值<=2,返回true
INTEGER1 -lt INTEGER2 # 若数值1<数值2,返回true



c.文件比较(参数较多,这里指列举部分)
-e FILE # 存在一个名为FILE的文件或是目录
-f FILE # 存在一个名为FILE的文件
-d FILE # 存在一个名为FILE的目录



d.多个表达式
之前所说的例子都是指测试一个表达式条件,但是有时候我们需要测试多个表达式,这时候我们可以使用-a和-o选项:
EXPRESSION1 -a EXPRESSION2 # 只有当两个表达式都为true时,test命令才返回ture
EXPRESSION1 -o EXPRESSION2 # 只要两个表达式中任一一个返回true时,test命令就返回ture



5.test命令的另一种形式:
通常我们可以使用[ expression ] 来代替 test expression 注意:[ ]两边一定要保留空格([ 是一个命令,后面的expression是参数,所以要用空格隔开)



这里我也终于明白shell脚本中 if [ -d "/etc" ]; 是怎么一回事情了,和我们程序中if(...) 括号的含义是完全不同的;
  • 大小: 29.8 KB
  • 大小: 14.4 KB
  • 大小: 16.5 KB
  • 大小: 15.4 KB
  • 大小: 17.9 KB
  • 大小: 23.9 KB
0
3
分享到:
评论

相关推荐

    linux学习命令总结

    学习Linux,掌握基本的命令是必不可少的。以下是对标题和描述中提到的Linux常用命令的详细解释: 1. **路径导航**: - `cd ~`:进入当前用户的主目录,通常是`/root`或`/home/your_username`。 - `cd ..`:返回上...

    linuxshell命令常用方法总结linux操作系统电脑资料.doc

    Linux Shell 命令常用方法总结 在 Linux 操作系统中,Shell 命令是必不可少的工具之一。本文将为大家详细介绍 Linux Shell 命令...通过本文,我们可以学习到许多有用的 Linux Shell 命令和技巧,希望对大家有所帮助。

    cmake_test cmake_test cmake_test

    总结来说,"cmake_test cmake_test cmake_test" 项目是一个关于 CMake 配置和测试的实践案例,旨在帮助开发者掌握如何有效地管理和构建 CMake 项目,同时利用 CTest 实现自动化测试。通过这个项目,你可以提升在跨...

    嵌入式开发学习总结 嵌入式开发学习总结

    ### 嵌入式开发学习总结之Shell命令与文件管理详解 #### 一、Shell命令 **Shell**作为用户与Linux内核之间的桥梁,扮演着非常重要的角色。它不仅可以接收用户的命令并将其传递给内核,还能根据内核返回的结果进行...

    Linux学习笔记总结

    Linux学习笔记总结是Linux学习的详细笔记,涵盖了Linux文件系统、文件操作、目录操作、文件内容显示命令、目录内容显示命令等多方面的知识点。 一、Linux文件系统 Linux文件系统中有两种路径表达方法:绝对路径和...

    Linux命令学习手册-patch命令

    ### Linux命令学习手册-patch命令 #### 概述 `patch` 命令是Linux系统中的一个非常实用且强大的工具,主要用于应用补丁文件来更新现有的文件或目录。补丁文件通常是由`diff` 命令创建的,包含了源文件与目标文件...

    Test.class文件

    - 执行字节码文件:通过“java Test”命令来运行编译好的“Test.class”文件。这里需要注意的是,运行时只需输入类名(不带“.class”后缀),JVM会自动查找对应的字节码文件并执行其中的主方法(main方法)。这...

    oracle学习总结.docx

    Oracle 学习总结 Oracle 是一种关系数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1977 年创立。它是一种对象关系数据库管理系统,支持多种编程语言,包括 Java、Python、C++ 等。 一、创建 Oracle 数据库...

    AIX 7 命令学习

    ### AIX 7 命令学习 A–C #### 1. ac|n (可能为ac命令) - **命令简介**:`ac` 可能是指 AIX 中的一个用于系统资源管理和监控的命令。 - **用法示例**:`ac` 命令的具体用法需要参考完整的文档或手册页来获取详细...

    常用Linux命令,自己总结的常用的linux命令

    在Linux操作系统中,掌握常用命令是日常开发和运维工作...在实际工作中,可能还需要学习更多的高级命令和技巧,例如管道符`|`和重定向`&gt;`等,以及更复杂的脚本编写。对于更深入的学习,可以参考官方文档或者在线教程。

    maven学习与命令

    ### Maven 学习与命令详解 #### 一、Maven简介 Maven 是一个 Java 项目的构建工具,它提供了一套完整的项目信息管理和构建方法,能够帮助开发者更方便地进行项目构建、依赖管理以及文档生成等工作。Maven 的核心...

    Linux常用命令总结

    通过上述命令的学习和实践,你可以更加熟练地操作Linux系统中的文件和目录,同时也能有效地管理和维护磁盘空间,以及进行文件的备份和压缩工作。这些命令在日常工作中非常实用,掌握了它们,能够大大提高工作效率。

    Linux常用命令总结(一).pdf

    学习和熟练掌握这些基本命令是Linux系统管理的基础,它们可以帮助你高效地导航文件系统、管理文件和目录,以及进行日常的系统维护工作。随着经验的积累,还可以深入学习更高级的命令和脚本编程,提升自动化运维的...

    Test_Framework_training.pdf

    通过这些基础知识的学习,开发者可以更好地利用Android Test Framework进行自动化测试,从而提高软件质量和开发效率。未来随着Android平台的发展,可能会考虑支持更先进的JUnit版本,如JUnit4等,这将进一步提升测试...

    CCNA考试命令集总结

    学习者需要深入理解每个命令的作用以及它们如何影响网络的路由和访问控制,以便在实际网络环境中灵活应用。同时,对于IGRP的稳定性和路由选择策略,以及生成树协议在防止广播风暴和环路中的作用,也需要有深入的理论...

    linux命令之vi命令总结

    ### Linux命令之vi命令总结 #### 一、光标移动方法 在Linux系统中,vi编辑器是非常重要的工具之一,特别是在进行文本编辑时。对于熟悉Linux的人来说,掌握vi编辑器中的快捷键是至关重要的。首先,让我们来看看如何...

    第四节 命令执行自动化工具基本使用(Linux拼接符补充)-01

    例如,命令 `mkdir test && cd test` 中,如果 `mkdir test` 命令执行成功,那么 `cd test` 命令也会执行。如果 `mkdir test` 命令执行失败,那么 `cd test` 命令也不会执行。 && 命令拼接符:只有前边语句为真,才...

    编译好的com.bruceeckel.simpletest类文件

    总结来说,`com.bruceeckel.simpletest`是一个简洁的单元测试工具,适合学习和快速验证Java代码的正确性。通过正确设置类路径,你可以直接使用提供的编译好的类文件,编写自己的测试类,以确保代码质量。对于Java...

Global site tag (gtag.js) - Google Analytics