linux shell中的条件判断
来源:互联网 发布:知乎仲夏夜之梦 编辑:程序博客网 时间:2024/05/17 01:02
1. 退出状态
在Linux系统中,每当一条命令执行完成后,系统都会返回一个退出状态,这个状态被存放在$? 这个变量中,是一个整数值,我们可以根据这个值来判断命令运行的结果是否正确。
通常情况下,退出状态值为0,表示执行成功,不为0的时候表示执行失败。
POSIX规定的退出状态和退出状态的含义:
0 运行成功
1-255 运行失败,脚本命令、系统命令错误或参数传递错误
126 找到了该命令但无法执行
127 未找到要运行的命令
128 命令被系统强行结束
2. 测试命令
用test命令进行测试,expression是一个表达式:
test expression
为了提高可读性,可以使用另一种格式:
[ expression ]
需要注意的是大括号和表达式之间需要有一个空格,不能省略。这种方式和if、case、while等语句结合,可以作为shell脚本中的判断条件。
3. 整数比较运算符
在shell中对两个数进行比较,不像在C/C++中可以使用“>”之类的运算符,而是使用类似参数选项的格式。
-eq 如果等于则为真
-ge 如果大于或等于则为真
-gt 如果大于则为真
-le 如果小于或等于则为真
-lt 如果小于则为真
-ne 如果不等于则为真
其中的参数可以这样理解e(equal),g(greater),t(than),l(less),n(not),这样方便记忆。
4. 字符串相关运算符
-n string 字符串不为空则为真
-z string 字符串为空则为真
string1 = string2 字符串相等则为真 (或者 == 也可以)
string1 != string2 字符串不等则为真
这里有一个需要注意的地方,就是使用 -n 这个运算符进行判断的时候需要注意在变量两边加上双引号。
例如 if [ -n $string ] 应该写成 if [ -n “$string” ] ,不然该表达式总是会返回真,因为当string变量为空的时候就相当于是 if [ -n ]。
5. 文件操作符
-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是否符号化链接
6. 逻辑运算符
! expression 非
expression1 –a expression2 与
expression1 –o expression2 或
多重的嵌套:
例如 if [ $a == 1 ] && [ $b == 1 -o $b == 3 ]
- linux shell中的条件判断
- 【Linux shell】 Shell编程中的条件判断
- linux shell中的条件判断语句
- Linux shell编程中的判断条件
- shell中的条件判断
- linux shell --- 条件判断
- linux shell 条件判断
- shell中的条件判断式
- Linux shell scripts中条件判断语句中的常用参数
- linux shell条件判断语句
- linux shell条件判断语句
- linux shell条件判断语句
- Linux shell if条件判断
- Linux Shell if条件判断
- Linux Shell脚本条件判断
- Linux Shell编程-条件判断
- linux:shell 编程 条件判断 以及 判断条件
- shell脚本中的if判断条件 详解
- 如何在java REST API中用GZip和Jersey压缩相应
- Java枚举enum使用及相关的操作
- 第十三周项目 6 体验文件操作(4—实战)——文件输入
- 第三篇.WDF驱动之Helloworld
- 自学编写Makefile之1 —— GNU Autotools工具介绍
- linux shell中的条件判断
- Md5加密算法的原理及应用
- 第13周项目 1.2 加倍 逆向输出
- c#:输入5个字符,将其倒序打印出来
- Android开发---开发文档翻译
- 用到的一些网站
- 简单的在线文件管理(增删改操作)
- 如何查看android data 内容
- OSGi 入门篇:模块层