05_03_bash脚本编程之二 条件判断
bash中如何实现条件判断
条件测试类型分为:
整数测试, 字符测试, 文件测试
变量名称命名规则:
1、只能包含字母数字和下划线,并且不能以数字开头
2、不应该和系统中已有的环境变量重名
3、最好能见名知意
条件测试的表达式:
[ expression ]:以中括号为启动测试命令,其后跟一个空格,然后是表达式,空格,中括号结束,例如下图:
[[ expression ]]:与上一种用法一致,但是此种方法为bash的关键字
test expression:使用test命令进行条件测试
整数比较(双目比较):
-eq:等值比较,测试两个整数是否相等,等为真,例如比较变量N和NN是否相等:
-ne:不等值比较,测试两个整数是否不等,不等为真,等为假
-gt:测试一个数是否大于另一个数,大于为真,小于等于为假
-lt:测试一个数是否小于另一个数,小于为真,大于等于为假
-ge:大于或等于比较
-le:小于或等于比较
命令间的逻辑关系:
逻辑与 &&:短路特性,第一个条件为假时,第二条件不用再判断,最终结果已有,反之,第一条件为真时,第二条件必须要判断
逻辑或 || : 第一条件为真时,第二条件就不用判断,必为真
例如添加一个用户,从用户输入读取用户名,如果该用户名不存在,就添加该用户,否则显示已存在:
条件判断,控制结构
单分支if语句,以if开始,fi结束,then后面跟随执行语句:
if 判断条件;then
执行语句1
执行语句2
.......
fi
双分支if语句:
if 判断条件;then
执行语句1
执行语句1
.......
else
执行语句1
执行语句2
......
fi
例如使用双分支if语句判断变量N是否和NN相等,等于输出true,否则输出false:
判断如果UID为0,显示管理员,否则显示common user:
05_04_bash脚本编程之三 条件判断及算术运算
提示:
1、“引用”一个命令的执行结果,要使用命令引用
2、使用一个命令的执行状态结果,要直接执行此命令,一定不能引用
3、如果想把一个命令的执行结果赋值给某变量,要使用命令引用
4、如果想把一个命令的执行状态结果保存下来,并作为命令执行成功与否的判断条件,则需要 先执行此命令,而后引用其状态结果
shell中如何进行算术运算:
因为在bash中,任何运算符都被作为字符存在,所以进行运算时会变成字符串拼接,因此就需要其他方法进行算术运算;
1、let算术运算表达式,例如:let C=$A+$B
2、$[算术运算表达式],例如:C=$[$A+$B]
3、$((算术运算表达式))
4、使用expr命令,表达式中各操作符及运算符之间要有空格,而且要使用命令引用,例如: C=`expr $A + $B`