Shell编程中if的语法和常见判断用法

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. ! #非

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部