Shell中if的基本语法和常见判断用法
if,for,while几乎是所有编程语言的关键字,在Shell编程中也不例外,其中if是使用频率最高的,由于Shell编程中不存在对象(Object)的概念,因此在if的比较判断中主要是对字符串、数字的值进行比较判断的:
一.if的基本语法
1.if与[之间要有空格
2.[]与判断条件之间也必须有空格
3.]与;之间不能有空格
二.对字符串的判断
1.if[str1=str2];thenfi#当两个字符串相同时返回真
2.if[str1!=str2];thenfi#当两个字符串不相等时返回真
3.if[-nstr1];thenfi#当字符串的长度大于0时返回真(判断变量是否有值)
4.if[-zstr1];thenfi#当字符串的长度为0时返回真
三.对数字的判断
1.int1-eqint2#int1和int2相等
2.int1-neint2#int1不相等int2
3.int1-gtint2#int1大于int2
4.int1-geint2#int1大于等于int2
5.int1-ltint2#int1小于int2
6.int1-leint2#int1小于等于int2
四.对文件属性的判断
1.-rfile#用户可读为真
2.-wfile#用户可写为真
3.-xfile#用户可执行为真
4.-ffile#文件存在且为正规文件为真
5.-dfile#如果是存在目录为真
6.-cfile#文件存在且为字符设备文件
7.-bfile#文件存在且为块设备文件
8.-sfile#文件大小为非0为真,可以判断文件是否为空
9.-efile#如果文件存在为真
五.逻辑判断
1.-a#与
2.-o#或
3.!#非