`
flaming
  • 浏览: 23315 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
社区版块
存档分类
最新评论

Test条件

阅读更多

1.test测试命令

  test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,其测试符和相应的功能分别如下:

  (1)数值测试:

  -eq:等于则为真

  -ne:不等于则为真

  -gt:大于则为真

  -ge:大于等于则为真

  -lt:小于则为真

  -le:小于等于则为真

  (2)字符串测试:

  =:等于则为真

  !=:不相等则为真

  -z字符串:字符串长度伪则为真

  -n字符串:字符串长度不伪则为真

  (3)文件测试:

  -e文件名:如果文件存在则为真

  -r文件名:如果文件存在且可读则为真

  -w文件名:如果文件存在且可写则为真

  -x文件名:如果文件存在且可执行则为真

  -s文件名:如果文件存在且至少有一个字符则为真

  -d文件名:如果文件存在且为目录则为真

  -f文件名:如果文件存在且为普通文件则为真

  -c文件名:如果文件存在且为字符型特殊文件则为真

  -b文件名:如果文件存在且为块特殊文件则为真

  另外,Linux还提供了与(“!”)、或(“-o)、非(“-a”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低。

  同时,bash也能完成简单的算术运算,格式如下:

  $[expression]

  例如:var1=2

  var2=$[var1*10+1]

  则:var2的值为21。

  2.if条件语句

  shell程序中的条件分支是通过if条件语句来实现的,其一般格式为:

  if条件命令串

  then

  条件为真时的命令串

  else

  条件为假时的命令串

  fi

  3.for循环

  for循环对一个变量的可能的值都执行一个命令序列。赋给变量的几个数值既可以在程序内以数值列表的形式提供,也可以在程序以外以位置参数的形式提供。for循环的一般格式为:

  for变量名

  [in数值列表]

  do

  若干个命令行

  done

  变量名可以是用户选择的任何字符串,如果变量名是var,则在in之后给出的数值将顺序替换循环命令列表中的$var。如果省略了in,则变量var的取值将是位置参数。对变量的每一个可能的赋值都将执行do和done之间的命令列表。

  4.while和until循环

  while和until命令都是用命令的返回状态值来控制循环的。While循环的一般格式为:

  while

  若干个命令行1

  do

  若干个命令行2

  done

  只要while的“若干个命令行1”中最后一个命令的返回状态为真,while循环就继续执行do...done之间的“若干个命令行2”。

  until命令是另一种循环结构,它和while命令相似,其格式如下:

  until

  若干个命令行1

  do

  若干个命令行2

  done

  until循环和while循环的区别在于:while循环在条件为真时继续执行循环,而until则是在条件为假时继续执行循环。

  Shell还提供了true和false两条命令用于建立无限循环结构的需要,它们的返回状态分别是总为0或总为非0

  5.case条件选择

  if条件语句用于在两个选项中选定一项,而case条件选择为用户提供了根据字符串或变量的值从多个选项中选择一项的方法,其格式如下:

  case string in

  exp-1)

  若干个命令行1

  ;;

  exp-2)

  若干个命令行2

  ;;

  ……

  *)

  其他命令行

  esac

  shell通过计算字符串string的值,将其结果依次和表达式exp-1、exp-2等进行比较,直到找到一个匹配的表达式为止,如果找到了匹配项则执行它下面的命令直到遇到一对分号(;;)为止。

  在case表达式中也可以使用shell的通配符(“*”、“?”、“[ ]”)。通常用“*”作为case命令的最后表达式以便使在前面找不到任何相应的匹配项时执行“其他命令行”的命令。

  6.无条件控制语句break和continue

  break用于立即终止当前循环的执行,而contiune用于不执行循环中后面的语句而立即开始下一个循环的执行。这两个语句只有放在do和done之间才有效。

  7.函数定义

  在shell中还可以定义函数。函数实际上也是由若干条shell命令组成的,因此它与shell程序形式上是相似的,不同的是它不是一个单独的进程,而是shell程序的一部分。函数定义的基本格式为:

  functionname

  {

  若干命令行

  }

  调用函数的格式为:

  functionname param1 param2……

  shell函数可以完成某些例行的工作,而且还可以有自己的退出状态,因此函数也可以作为if、while等控制结构的条件。

  在函数定义时不用带参数说明,但在调用函数时可以带有参数,此时shell将把这些参数分别赋予相应的位置参数$1、$2、...及$*。

分享到:
评论

相关推荐

    如何写好Test Plan & Test Case

    在软件测试领域,编写高质量的Test Plan(测试计划)和Test Case(测试用例)是确保产品稳定性与功能完整性的关键步骤。Test Plan是整个测试活动的蓝图,它定义了测试的目标、范围、方法和资源分配,而Test Case则是...

    test.py_pythontest_python_

    3. **流程控制**:如何通过条件语句(if-elif-else)和循环(for, while)控制代码执行的流程。 4. **函数**:定义函数、传递参数、返回值,以及函数作为一等公民的概念。 5. **模块**:如何使用`import`语句导入...

    Parasoft C++Test 9.5

    为了衡量测试的充分性,Parasoft C++Test提供了代码覆盖率工具,可以计算不同粒度的覆盖率指标,如语句覆盖、分支覆盖、条件覆盖等。这些数据有助于确定哪些代码部分未被测试,以便进一步完善测试用例。 四、缺陷...

    testbench的入门和提高

    - **初始化部分**:在仿真开始时,这里设置初始条件,如复位信号。 - **激励生成**:这部分定义了测试序列,如定时模式或随机数据。 - **响应检查**:一旦设计对激励做出反应,Testbench会进行检查,确保输出符合...

    ECU-Test高级教程

    - **案例2:硬件在环测试**:通过ECU-Test进行HiL测试,可以模拟真实的车辆环境,确保ECU在实际工作条件下的可靠性和稳定性。 - **案例3:实车测试**:在ViL测试中,ECU-Test可以监控ECU的实际表现,帮助工程师识别...

    CANtest_cantest软件配置_canopen_

    CANtest可以设置发送和接收PDO,定义传输类型、映射的变量以及触发条件。 4. **SDO(Service Data Object)设置**:SDO是CANopen中非实时数据传输的机制,用于配置和诊断设备。通过CANtest,用户可以方便地设置SDO...

    Googletest 源码

    1. **Assertion宏**:Googletest 提供了一系列的断言宏,如 `EXPECT_EQ`, `ASSERT_TRUE` 等,它们用于在测试中检查预期条件。这些宏在测试失败时会生成有用的错误信息,帮助开发者快速定位问题。 2. **Test Fixture...

    QCOM车机平台qcarcam-test

    通过模拟不同的场景和条件,qcarcam-test可以验证摄像头的成像质量、稳定性以及与其他车载系统的协同能力。 在测试过程中,qcarcam-test能对单个摄像头进行详尽的功能验证,如图像清晰度、色彩还原、曝光控制、白...

    MSCOCO test2017数据集的信息文件 image_info_test2017

    4. **日期/时间 (Date-Created)**: 图像拍摄的时间戳,这可以提供有关图像环境变化的信息,如光照条件或季节。 5. **图像URL (COCO URL)**: 提供了一个链接,可以查看原始图像,有助于直观理解图像内容。 6. **源...

    2.shell流程控制.doc

    本文档将向初学者详细介绍如何使用Shell进行条件判断,包括`test`命令及其相关参数,以及多重条件判断和逻辑运算。 1. 条件判断: `test`命令用于检查一个表达式的真伪,其结果通过`echo $?`来查看,0表示成功,非...

    ieTest测试工具

    8. **条件注释和IE特定CSS**:早期IE支持条件注释,允许开发者针对特定的IE版本应用CSS。ieTest可以帮助测试这些注释的效果。 通过ieTest测试工具,开发者可以快速定位并修复以上问题,提高网站的跨浏览器兼容性。...

    deepstream test5

    购买时需要注意,作者强调了"看清再购买",暗示可能有特定的使用条件或者需要一定的技术基础。最后,作者提到读研不易,暗示这个资源对于研究生级别的研究或项目开发可能会有所帮助,可以节省大量时间和精力。 ...

    Mercury QuickTest Professional 8.2教程

    在修改并调试测试脚本时,需要添加对象和步骤、参数化、增加条件控制、建立检查点、建立输出值和分割脚本等。 本教程还对 QuickTest Pro 的应用进行了详细的介绍,包括如何设计测试用例的测试数据、如何录制测试...

    googletest-1.14.0

    1. **断言(Assertions)**:`gtest`提供了丰富的断言函数,如`ASSERT_TRUE`、`EXPECT_EQ`等,它们在测试过程中检查条件是否满足,如果失败会生成有用的错误消息。 2. **测试套件(Test Suites)**:测试代码可以...

    Buck_test.rar_buck_buck 电路_test buck_test buck是什么_降压

    这个"Buck_test.mdl"文件很可能是上述过程的结果,通过打开和运行模型,可以直观地看到Buck电路在不同条件下的工作情况,有助于深入理解降压转换器的工作原理和设计方法。对于学习电力电子、电源设计或嵌入式系统的...

    testbench.zip

    在IT行业中,Testbench是一个非常重要的概念,尤其是在硬件描述语言(如Verilog和VHDL)中用于验证设计的正确性。"testbench.zip"这个文件可能包含了一个完整的测试平台或者一套测试用例,用于检验某个硬件设计的...

    Test Case Test Case

    测试用例(Test Case)是软件测试中的核心概念,它定义了如何对软件进行测试,以验证特定功能或系统行为是否符合预期。测试用例通常包括预设条件、执行步骤、预期结果和实际结果,目的是确保软件的质量和稳定性。...

    TD8003时序_TD8003TestMode时序_电源芯片TestMODE_

    对于内部MOSFET的RDSON测试,工程师可以通过Test Mode监测MOSFET在不同工作条件下的导通电阻。RDSON是衡量MOSFET导通状态下的内阻,直接影响到电源转换效率和热损耗。低的RDSON值意味着更好的能效和更少的发热。 ...

    testbench(vhdl)

    本主题聚焦于使用VHDL编写testbench,这是验证数字逻辑设计的关键步骤。 Testbench,或称为测试平台,是验证硬件设计的一种方法,它模拟了真实世界中设计将要运行的环境。在VHDL中,testbench通常以独立的VHDL...

    C++test使用手册

    Parasoft保证在正常使用的条件下,自购买之日起30天内电子媒介无缺陷,若出现问题,用户可申请免费更换。此外,用户同意遵守许可证的条款,不得擅自转让或分级许可。 总之,C++test是一款强大的C++单元测试工具,它...

Global site tag (gtag.js) - Google Analytics