- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7退出测试判断及操作符
7 退出、测试、判断及操作符
7.1、退出状态
每当命令执行完成后,系统都会返回一个退出状态,用一个整数值表示,用于判断命令运行正确与否。最后一次执行命令的退出状态值被保存在内置变量“$?”中,可用echo语句测试命令是否运行成功:echo $?
退出状态及其含义:
0 表示运行成功,程序执行未遇到任何困难
1~125 表示运行失败,脚本命令、系统命令错误或参数传递错误
126 找到了该命令但无法执行
127 未找到要运行的命令
128 命令被系统强行结束
7.2、测试
Linux的Shell命令中存在一组测试命令,该组命令用于测试某种条件或某几种条件是否真实存在。测试命令是判断语句和循环语句中条件测试的工具。
7.2.1、测试结构
测试命令可用于测试表达式的条件的真假。如果测试为真,则返回0;测试为假,则返回一个非0整数值。
测试命令有两种方式:
使用test命令进行测试,格式为:test expression
expression是一个表达式,可由数字、字符串、文本和文件属性的比较,同时可加入各种算术、字符串、文本的等运算符。
为提高命令的可读性使用的另一种格式:[ expression ]
注意[后和]前的空格是必不可少的。该方式经常与if、case、while语句联用,作为流程控制语句的判断条件。
7.2.2、整数比较运算符
test测试数值时有一整套的整数比较运算符,格式为:
test “num1” numeric_operator “num2”
或 [ “num1” numeric_operator “num2” ]
numeric_operator为整数比较运算符,用于比较数值的大小,但这些整数比较运算符不可用于字符串、文件操作,而字符串比较运算符和文件操作符也不可用于其他的操作。
整数比较运算符:
num1 -eq num2 如果num1等于num2,测试结果为0
num1 -ge num2 如果num1大于或等于num2,测试结果为0
num1 -gt num2 如果num1大于num2,测试结果为0
num1 -le num2 如果num1小于或等于num2,测试结果为0
num1 -lt num2 如果num1小于num2,测试结果为0
num1 -ne num2 如果num1不等于num2,测试结果为0
在bash编程中只能对整数使用整数比较符,若想对浮点型数值进行比较,需使用特定的函数。
7.2.3、字符串运算符
字符串运算符可用来测试字符串是否为空、两个字符串是否相等或是否不相等。经常用于测试用户输入是否为空或比较字符串变量
字符串运算符:
string 测试字符串string是否不为空
-n string 测试字符串string是否不为空
-z string 测试字符串string是否为空
string1=string2 测试字符串string1是否与字符串string2相同
string1!=string2 测试字符串string1是否与字符串string2不相同
字符串比较时建议字符串变量要使用双引号,即使变量为空也要使用。
格式:test “string” 或 [ “$string1”=”$string2”]
7.2.4、文件操作符
格式为: test file_operator file 或 [ file_operator file ]
file_operator为文件操作符,file为文件名、目录名或文件路径等。
比较常用的文件操作符:
-d file 测试file是否为目录
-e file 测试file是否存在
-f file 测试file是否为普通文件
-r file 测试file是否是进程可读文件
-s file 测试file的长度是否不为0
-w file 测试file是否是进程可写文件
-x file 测试file是否是进程可执行文件
-L file 测试file是否符号化链接
7.2.5、逻辑运算符
逻辑运算符用于测试多个条件是否为真或为假,或使用逻辑非测试单个表达式,这些条件一般是和测试命令联用。
逻辑操作符:
!expression 如果expression为假,则测试结果为真
exp1 -a exp2 如果exp1和exp2同时为真,则测试结果为真
exp1 -o exp2 如果exp1和exp2中有一个为真,则测试结果为真
expression为一个表达式,该表达式描述了一个测试条件。
7.3、判断
7.3.1、简单if结构
最简单的if结构是: if expression
then
command
...
fi
测试条件后如果没有“;”,则then语句要换行;如果if和then可以处于
您可能关注的文档
最近下载
- 国家开放大学学前教育科研方法大作业答案.docx
- 配电工程 投标方案(技术方案).docx
- 2023年11月金华十校2024届级高三一模历史试卷(含答案).docx
- 2024《教育科学研究项目课题设计论证》:大班幼儿入学准备主题课程构建的实践研究7400字.doc
- 机电应用技术专业典型案例——校企融合、实景教学办学模式的创新.docx VIP
- 丙型肝炎病毒实验室检测技术规范(2023年修订版).pdf
- 中国客票销售发展模式论文.pdf
- 广东省茂名市电白区2023-2024学年七年级上学期期中数学试卷.pdf VIP
- 国家开放大学《管理英语4》边学边练Unit 5-8(答案全).docx VIP
- 《烹饪美学》 第四章 菜点造型艺术.pptx
文档评论(0)