Linux shell编程 8 ---- 退出+测试


1 退出状态

1 在Linux shell编程中,每个命令在脚本完成后都会有一个退出状态

2 退出状态用一个整数值表示,若退出状态为0表示成功,若退出状态非0表示失败。

3 最后一次执行命令的推出状态保存在内配变量"$?"中,我们可以通过echo $?来查看

4 退出状态及其含义

状态值 含义

0 表示运行成功,程序执行未遇到任何问题

1~255 表示运行失败,脚本命令,系统命令错误或参数传递错误

126 找到了命令但无法执行

127 未找到要运行的命令

>128 命令曾被系统强行结束

2 测试

1 测试命令可用于测试表达式的条件的真假,如果测试条件为真,则返回一个0,如果测试的条件为非假则返回一个非0的值

2 测试命令有两种方式

1 test expression

expression是一个表达式,该表达式可由数字,字符串,文本和文件属性的比较,同时可以加入各种算术,字符串, 文本等运算符。

2 [ expression ]

其中[]是一个启动测试的命令,但是要求在[和]的后面和前面都要有一个空格,这种测试条件是计较常用的,经常和if,while等联用。

3 整数数值的比较

1 一般的整数比较方式是,假设两个整数为a和b

[ $a -operator $b ] // operator是比较符号


2 如果是使用[]比较,那么operator有如下6种

整数比较运算符 描述

[ $a -eq $b ] 比较a是否和b相等

[$a -ge $b ] 比较a是否大于等于b

[$a -gt $b ] 比较a是否大于b

[ $a -le $b ] 比较a是否小于等于b

[ $a -lt $b ] 比较a是否小于b

[ $a -ne $b ] 比较a是否不等于b


4 字符串比较

1 同整数运算符一样,Linux中也提供了字符串运算符

2 字符串运算符表

字符串运算符 描述

[ string ] 测试字符串string是否不为空

[ -n string ] 测试字符串string是否不为空

[ -z string ] 测试字符串是否为空

[ string1 = string2 ] 测试字符串string1和string2是否相等

[ string1 != string2 ] 测试字符串string1和string2是否不相等


5 文件操作符

1 文件的测试操作也有两种方法

test file_operator file // file_operator是文件的操作符

[ file_operator file ] //file_operator是文件的操作符


2 文件操作符表

文件运算符 描述

[ -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是否符号化链接


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值