Shell编程中if的语法和常见判断用法
来源:互联网 发布:自然语言分析工具java 编辑:程序博客网 时间:2024/05/20 15:37
The if...elif...fi statement is the one level advance form of control statement that allows Shell to make correct decision out of several conditions.
Syntax:
if [ expression 1 ]then Statement(s) to be executed if expression 1 is trueelif [ expression 2 ]then Statement(s) to be executed if expression 2 is trueelif [ expression 3 ]then Statement(s) to be executed if expression 3 is trueelse Statement(s) to be executed if no expression is truefi
There is nothing special about this code. It is just a series of if statements, where each if is part of theelse clause of the previous statement. Here statement(s) are executed based on the true condition, if non of the condition is true then else block is executed.
Example:
#!/bin/sha=10b=20if [ $a == $b ]then echo "a is equal to b"elif [ $a -gt $b ]then echo "a is greater than b"elif [ $a -lt $b ]then echo "a is less than b"else echo "None of the condition met"fi
This will produce following result:
a is less than b
if, for, while几乎是所有编程语言的关键字,在Shell编程中也不例外,其中if是使用频率最高的,由于Shell编程中不存在对象(Object)的概念,因此在if的比较判断中主要是对字符串、数字的值进行比较判断的:
一. if的基本语法
1. if与[之间要有空格
2. []与判断条件之间也必须有空格
3. ]与;之间不能有空格
二. 对字符串的判断
1. if [ str1=str2 ];then fi #当两个字符串相同时返回真
2. if [ str1!=str2 ];then fi #当两个字符串不相等时返回真
3. if [ -n str1 ];then fi #当字符串的长度大于0时返回真 (判断变量是否有值)
4. if [ -z str1 ];then fi #当字符串的长度为0时返回真
三. 对数字的判断
1. int1 -eq int2 #int1和int2相等
2. int1 -ne int2 #int1不相等int2
3. int1 -gt int2 #int1大于int2
4. int1 -ge int2 #int1大于等于int2
5. int1 -lt int2 #int1小于int2
6. int1 -le int2 #int1小于等于int2
四. 对文件属性的判断
1. -r file #用户可读为真
2. -w file #用户可写为真
3. -x file #用户可执行为真
4. -f file #文件存在且为正规文件为真
5. -d file #如果是存在目录为真
6. -c file #文件存在且为字符设备文件
7. -b file #文件存在且为块设备文件
8. -s file #文件大小为非0为真,可以判断文件是否为空
9. -e file #如果文件存在为真
五. 逻辑判断
1. -a #与
2. -o #或
3. ! #非
- Shell编程中if的语法和常见判断用法
- Shell编程中if的语法和常见判断用法
- Shell编程中if的语法和常见判断用法
- Shell编程中if的语法和常见判断用法
- shell中if逻辑判断的常见用法
- Shell 编程之if常见语法
- shell if常见用法
- shell编程-IF语法
- shell中if的用法
- shell中if的用法
- shell编程之if判断的总结
- shell编程之if判断的总结
- shell编程之if判断的总结
- shell编程之if判断的总结
- shell编程之if判断的总结
- shell编程之if判断的总结
- shell编程中常用的比较、判断和删除等语法
- Shell中if判断
- 线程的分离与结合
- 带参数的构造函数及使用默认参数的构造函数
- window.print的应用
- DRP总结
- Remote java Application 远程调试
- Shell编程中if的语法和常见判断用法
- KMP算法
- oracle的数据文件全部丢失,但有归档和重做日志,如何恢复?
- 兼容FF,IE,Chrome的js离开或刷新页面检测
- tcp_tw_recycle和tcp_timestamps导致connect失败问题
- Node.js简单介绍并实现一个简单的Web MVC框架
- UML类图中的六种关系
- IO流的基本读写方法
- 快照技术原理