shell整数测试】的更多相关文章

shell脚本中的整数测试 author:headsen chen      2017-10-17   13:58:12 个人原创,转载请注明作者,出处,否则依法追究法律责任 1,test用法:test   表达式(注意:只能用 gt,lt,le,ge,le,单括号中也是这种用法,不能用大小符号) [root@linux-node1 a]# x=5;y=10 [root@linux-node1 a]# test $x -gt $y [root@linux-node1 a]# echo $? 1…
shell条件测试可以通过以下两种方式: test   参数    测试内容 [ 参数  测试内容 ] 一.测试文件类型: test  -e   文件名          (测试文件是否存在) [ -e  文件名 ]                测试文件是否存在,注意中括号两边的空格 test -f   文件名             判断是否为普通文件 test -d   文件名            判断是否为目录 test -b   文件名            判断是否为块设备文件 t…
如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严谨的,若是未经过QA,风险还是相当大的. 以下即shell脚本测试流程,仅供参考 1.代码走读: 通读代码,确保明白代码的实现和自己预设的一致. 读什么? A.代码逻辑:这个脚本用来做什么,主要分为多少步,分别做了什么事情? 用于检查是否有遗漏逻辑,或有悖于需求. B.具体语法,变量,判断语句 语法方面的东西,变量是否定义,判断语句逻辑是否正确,是否…
[SHELL水平测试] [OVERVIEW 篇] 有很多种 shell, 你熟悉几种? 各个 shell 的 home page 在那里? 为什么说 zsh 是目前为止功能最为强大的 shell. 为什么说 pdksh 功能较弱? ksh88 与 ksh93 有何区别? 为什么 shell 编程最好用 ksh? 你的系统都有哪些 shell? 版本是多少? 你知道 POSIX 吗?最新版本是多少?和你的 shell 有什么关系? /sbin/sh 和 /bin/sh 有何区别? 你分析过 100…
终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/bin/bash # www.jquerycn.cn web=`/usr/bin/pgrep httpd` if [ -n "$web" ]; //$web返回值是否为空 then echo "httpd is running" else /etc/init.d/htt…
整数比较  -eq       等于,如:if [ "$a" -eq "$b" ]  -ne       不等于,如:if [ "$a" -ne "$b" ]  -gt       大于,如:if [ "$a" -gt "$b" ]  -ge       大于等于,如:if [ "$a" -ge "$b" ]  -lt       小于,如:if…
shell中条件测试的三种格式: 格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] 使用test: [root@host- ~]# test -f file && echo true || echo false false [root@host- ~]# touch file [root@host- ~]# test -f file && echo true || echo false true [root@host- ~]# ma…
条件测试操作 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作,有时也会通过与if等条件语句相结合,让我们可以方便的完成判断. 语法格式 test 选项 文件名或目录名 [ 选项 文件名或目录名 ] [[ 选项 文件名或目录名 ]] [语法说明] 格式1: test <测试表达式> 格式2: [ test<测试表达式> ] 格式3: [[ test<测试表达式> ]] 说明: 格式1和格式2是等价的.格式3是扩展的test命令,有网友推荐…
1. exit:退出脚本.可以定义,如 #exit 数字(0-255) 2. 文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通 -d FILE:测试指定路径是否为目录 -r FILE:测试指定文件对当前用户有读权限 -w FILE:测试指定文件对当前用户有写权限 -x FILE:测试指定文件对当前用户有执行权限 [ –e  /etc/inittab ] , 注这个括号前后有空格 3. 多分支的if语句 格式如下: if 判断条件1; then statement1…
文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当pathname 存在并且是一个目录时返回真-e pathname : 当由pathname 指定的文件或目录存在时返回真-f filename : 当filename 存在并且是正规文件时返回真-g pathname : 当由pathname 指定的文件或目录存在并且设置了SGID 位时返回真-h…
---恢复内容开始--- 文件测试表达式    -f 文件存在且为普通文件     -d 文件存在且为目录文件    -s 文件大小不为0则真    -e 文件存在则真        -r 文件存且可读  #文件属性对于root有时不好用    -w 写    -x 执行    -L 存在且为链接文件    f1 -nt f2 f1比f2新则为真    f1 -ot f2 f1比f2旧则为真    这些操作符可用于[[]],[],test几乎通用,更多操作符查看man test.        …
两个整数的比较 '整数1 -eq 整数2' 判断整数1是否和整数2相等(相等为真) '整数1 -ne 整数2' 判断整数1是否和整数2不相等(不相等位置) '整数1 -gt 整数2' 判断整数1是否大于整数2(大于为真) '整数1 -lt 整数2' 判断整数1是否小于整数2(小于为真) '整数1 -ge 整数2' 判断整数1是否大于等于整数2(大于等于为真) '整数1 -le 整数2' 判断整数1是否小于等于整数2(小于等于为真) shell是弱类型的语言,默认是字符串,如果加了特殊符号,则表示…
vim **.sh文件 开头:#!/bin/bash ////////// copy cURL //因为这样copy的url就是一个命令(进入chrome的开发者工具里面,点network,找到刚刚访问的页面,右建copy cURL) /////////// 打印输出到log文件:>log 2>errorLog 输出一个字符串:echo "XXXXX" >> log带有换行,不带换行可以使用point shell测试cURL完整的例子 #!/bin/bash c…
一.条件测试操作 1.test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:test 表达式 2.常见的测试类型 ①测试文件状态 格式:[ 操作符 文件或目录 ] 常用的操作符: -d:测试是否为目录 -f:测试是否为文件 -e:测试文件是否存在 -r:测试当前用户是否有读取的权限 -w:测试当前用户是否有写的权限 -x:测试当前用户是否有执行的权限 -L:测试是否为链接文件 ②字符串比较 格式:[ 字符串1 = 字符串2 ] [ 字符串1 !=…
文件状态测试 -b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当pathname 存在并且是一个目录时返回真-e pathname : 当由pathname 指定的文件或目录存在时返回真-f filename : 当filename 存在并且是正规文件时返回真-g pathname : 当由pathname 指定的文件或目录存在并且设置了SGID 位时返回真-h…
在shell脚本中,无法对浮点数进行比较,如: max=0.1 min=0.01 if [ "$max" -gt "$min" ] then echo "YES" else echo "NO" fi 这样的比较,运行后得到错误: line 4: [: 0.1: integer expression expected 因为bc和awk都支持浮点数,可以使用bc进行处理: max=0.1 min=0.01 ] then echo…
Shell脚本 1. 基本的几个变量 使用$?获取最近一次的执行结果: 使用$#获取传递的参数个数,类似C语言中的int argc; 使用$@获取所有的传参,类似C语言的char **argv 2. 获取一个命令的结果是否为空 场景:在某个目录查找是否包含某个文件 一般使用双引号("")将变量括起来.将多个变量化为一个字符串,否则测试时可能会有warning ################################################################…
(1)sehll实例 # cat subshell #!/bin/bash if (set -u; : $var); then #冒号与$间有空格 echo "Variable is set." else echo "Not set" fi (2)输出结果: # ./subshell ./subshell: line 3: var: unbound variable Not set (3)原因分析: 其中set -u命令用于设置shell选项,u是nounset表示…
还得我想了10分钟才明白”!=“和"-n"的用法区别,做个笔记捋一捋 第一种方法:测试apache是否开启?字符串测试 #!/bin/bash web=`/usr/bin/pgrep httpd` if [ -n "$web" ];  //$web返回值是否为空 then echo "httpd is running" else /etc/init.d/httpd start fi 第二种: #!/bin/bash web=`/usr/bin/p…
1.整数型参数,必须intval转义,用addslashes转义不行 <?php   $test = $_REQUEST["test"]; $test = addslashes($test); $sql =" select * from tbl1 where id=$test"; print $sql; //输入test=1 or 1=1 得到 select * from tbl1 where id=1 or 1=1 被注入 ?> <?php  …
3种测试命令: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]]  注意:EXPRESSION前后必须有空白字符 bash的测试类型 数值测试: -eq:是否相等 -ne:是否不等 -ge:是否大于等于 -le:是否小于等于 -gt:是否大于 -lt:是否小于 字符串测试: =或==:是否等于 >:是否大于 <:是否小于 !=:是否不等于 =~:左侧字符串是否能够被右侧PATTERN所匹配 [[  ]]中使用 -z "STRING&quo…
文件测试运算符 文件测试运算符用于检测 Unix 文件的各种属性. 属性检测描述如下: 操作符 说明 举例 -b file 检测文件是否是块设备文件,如果是,则返回 true. [ -b $file ] 返回 false. -c file 检测文件是否是字符设备文件,如果是,则返回 true. [ -c $file ] 返回 false. -d file 检测文件是否是目录,如果是,则返回 true. [ -d $file ] 返回 false. -f file 检测文件是否是普通文件(既不是目…
Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算:2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:        当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "-----…
1. 文件测试 -d 目录 -s 文件非空 -f 是正规文件 -w 有写权限 -r 有读权限 -x 有执行权限 -L 符号连接 -u 文件有suid位设置…
条件测试结构 if/then结构用来判断命令列表的退出状态码是否为0(因为在UNIX惯例, 0表示"成功"), 如果成功的话, 那么就执行接下来的一个或多个命令. 有一个专有命令[ (左中括号, 特殊字符). 这个命令与test命令等价, 并且出于效率上的考虑, 这是一个内建命令. 这个命令把它的参数作为比较表达式或者作为文件测试, 并且根据比较的结果来返回一个退出状态码(0 表示真, 1表示假). 在版本2.02的Bash中, 引入了[[ ... ]]扩展测试命令, 因为这种表现形式…
1.test -f file  2.[ -f file ] 3.[[ -f file ]] [ -f file1 -a -f file2]逻辑与[ -f file1 -o -f file2]逻辑或 [ -f file1] && [ -f file2 ] 一样的 字符串的操作最好加双引号 如-n -z == != 并且比较时等号两边要加空格 ###man test ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is fal…
http://bbs.chinaunix.net/thread-476260-1-1.html 版权声明:本文博客原创文章,博客,未经同意,不得转载.…
http://blog.csdn.net/ll_0520/article/details/5959577 #plus #!/bin/sh let a=$1+$2 b=$[$1+$2] ((c=$1+$2)) d=`expr $1 + $2` echo "$1+$2 = ${a}" echo "$1+$2 = $b" echo "$1+$2 = $c" echo "$1+$2 = $d" 输入命令:./plus 1 2 输出结果…