if语句理解:如果怎样就怎样否则怎样(个人理解)

语法一(一个条件)、

if [condition]						#如果    条件
then									#那么
	command					#执行命令
fi										#条件结束(结束语句)	
#条件与[] 之间有空格(固定格式)
#单行写法:fi [condition] ;then command;fi

流程图:
if语句----shell脚本

语法二(两个条件):

if [ condition ] ;then			#如果   条件满足
	command1					#执行条件1,结束;
else									#否则
	command2					#执行条件2,结束;
fi										#结束;	

流程图:
if语句----shell脚本

语法三(多个条件)、

if [condition1] 
then
	command1
	elif [condition2]
	then
		command2
		elif [condition3]
		then
			command3
else
	command
fi

(如果条件1满足,执行命令1后结束;如果条件1不满足,再看条件2,满足执行命令2后结束,否则再看条件3,如果都不满足,执行else 命令后结束)
if语句----shell脚本

条件语句中常用的运算符:
一、算数运算符:
1、+:加法;
2、-:减法;
3、*:乘法(注意转义)
4、/:除法;
5、%:取余;
6、=:赋值;
7、==:相等(相等返回真);
8、!=:不相等(不相等返回真);

二、关系运算符:
1、-eq:检测是否相等,相等返回真;
2、-ne:检测是否不相等,不相等返回真;
3、-gt:检测左边数是否大于右边(a>b
),如果是,返回真;
4、-lt:检测左边数是否小于右边(a<b),如果是,返回真;
5、-ge:检测左边是否大于等于右边(a>=b)如果是,返回真;
6、-le:检测左边是否小于等于右边(a<=b)如果是,返回真

三、逻辑运算符:
1、!:非运算,表达式返回真,则返回假;
2、-o:或;
3、-a:与,并且;

四、字符串运算符:
1、=:检测两个字符串是否相等,相等返回真;
2、!=:检测两个字符串是否不相等,不相等返回真;
3、-z:检测字符串长度是否为o,为0返回真;
4、-n:检测字符串长度是否不为0,不为0,返回真;
5、str:检测字符串是否为空,不为空,返回真;

五、文件测试运算符【运算符+$文件名】:
1、-b:检查文件是否是块设备文件,如果是,返回真;
2、-c:检测文件是否是字符设备文件,如果是,返回真;
3、-d:检测文件是否是目录,如果是,返回真;
4、-f:检测文件是否是普通文件,如果是,返回真;
5、-g:检测文件是否设置了SGID位,如果是,返回真;
6、-k:检测文件是否设置了bit位,如果是,返回真;
7、-p:检测文件是否有名管道,如果是,返回真;
8、-u:检测文件是否设置了SUID 位,如果是,返回真;
9、-r:检测文件是否可读;
10、-w:检测文件是否可写;
11、-x:检测文件是否可执行;
12、-s:检测文件是否为空(文件大小是否大于o),不为空返回真;
13、-e:检测文件,目录是否存在,如果存在,返回真;

相关文章: