如何进行shell脚本正确性测试】的更多相关文章

在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严谨的,若是未经过QA,风险还是相当大的. 以下即shell脚本测试流程,仅供参考 1.代码走读: 写完,或者拿到一个shell脚本,不必急于运行,虽然实践是检验整理的唯一标准,但是,在读代码这个过程中,可以规避很多低级的bug. 读什么? A.代码逻辑,这个脚本用来做什么,主要分为多少步,分别做了什…
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测试 shell 进行条件判断的两种方式 test 格式 test [操作符选项] 表达式 [ 操作符选项 表达式 ] 两边要有空格 测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值 boole true(真) false(假) 返回码 0 非0 linux系统 shell脚…
一bash的数值测试 -v VAR变量VAR是否设置 数值测试:-gt 是否大于greater-ge 是否大于等于-eq 是否等于-ne 是否不等于  not equal-lt 是否小于-le 是否小于等于 -eq是否等于表示变量值是数字,=表示变量值是字符串 [root@centos7 ~]# num=10; [[ "$num" -eq 10 ]] && echo true || echo false true [root@centos7 ~]# num=50; [[…
一bash的条件测试 判断某需求是否满足,需要由测试机制来实现.专用的测试表达式需要由测试命令辅助完成测试过程. 评估布尔声明,以便用在条件性执行中.若真,则返回0:若假,则返回1. 测试命令:• test EXPRESSION• [ EXPRESSION ]• [[ EXPRESSION ]]和上面两个不同的在于支持正则表达式注意:EXPRESSION前后必须有空白字符 (一)使用test命令 [root@centos7 ~]# type test test is a shell builti…
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 三.case语句 3.1.实例 一.条件测试 1.1.表达说明 Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常. 1.2.test命令 可以对特定条件进行测试,并根据返回值来判断条件是否成立(…
在 if 语句里面,你可以使用另外一个 if 语句.只要你能逻辑管理 你就可以使用多层嵌套. 以下是一个测试闰年的例子: #!/bin/bash # This script will test if we're in a leap year or not. year=`date +%Y` if [ $[$year % 400] -eq "0" ]; then      echo "This is a leap year.  February has 29 days."…
1.条件测试常用语法 test 测试表达式 利用test命令进行条件测试表达式,test命令与测试表达式之间至少有一个空格 [ 测试表达式 ] 通过[ ]中括号进行条件测试表达式,[]中括号边界与测试表达式之间至少有一个空格 [[ 测试表达式 ]] 通过[[ ]]双中括号进行条件测试表达式,[[ ]]双中括号与测试表达式之间至少有一个空格 ((测试表达式)) 通过(( ))双小括号进行条件测试表达式,( ))双小括号两端不需要空格,常用于整数对比 说明: 双中括号[[ ]]中可以使用通配符进行匹…
文件测试是指测试某一个文件或者目录是否存在 测试文件格式[ 操作符 目录或者文件 ]    注意左括号和操作符之间有一个空格,文件或者目录 与右边的括号之间也有一个空格. -d 测试是否为目录 -e 测试文件或者目录是否存在 -f 测试是否为文件 -r 测试当前用户是否对文件有读权限 -w 测试当前用户是否对文件有写权限 -x 测试当前用户是否对文件有执行权限 -L 测试是否为符号链接文件 测试的结果可以使用$?来获取,$?表示上一条命令的执行是否成功  或者  判断条件是否成立:   如果运行…
在shell脚本一 中,我讨论了shell脚本的语法规范,shell脚本的变量,以及shell脚本的测试语句. 仅仅懂得这些只能写简单的脚本,在简单的脚本中各条语句按顺序执行,从而实现自动化的管理,顺序单一执行太过机械化,不够“智能”,难以实现更加灵活的系统任务.甚至一个简单的场景:现有100台linux服务器,其中有50台安装过某软件,有50台没有安装过某软件.如果没有流程控制及循环方面的脚本知识,如此简单的问题,也变得非常低效.所以本文带你走进shell脚本的流程控制及循环的世界.  一.多…
一次shell脚本小事故,从中学习排错过程 事出,童鞋使用shell脚本搭建测试环境的过称中..... 配置环境变量文件:/etc/profile(用于升级JDK或其他) 手动编辑方法:vi /etc/profile:将所需的配置信息加入最后即可,source /etc/profile即可生效. 不过本次遇到的是使用shell脚本中的echo语句 示例:学生是这么写的 查看配置文件,结果是这样的: 疑问:为啥与脚本中写的不一样了? 解答:首先这个是没有问题的,只不过是展开了PATH变量. 当然,…