一、bash中如何实现条件判断
1、条件测试类型
整数测试
字符测试
文件测试
2、条件测试的表达式
[expression]
[[expression]]
test expression
3、整数比较:
-eq:测试两个整数是否相等:比如 $A -eq $B
-ne :测试两个整数是否不等,不等,为真,相等为假
-gt :测试一个数是否大于另一个数:大于为真,否则为假
-lt:测试一个数是否小于另一个数:小于为真,否则为假
-ge:大于或等于
-le:小于或等于
二、bash 命令之间的逻辑关系
逻辑与(&&):只要一个为假,则结果一定为假
(当第一个条件为假时,第二个条件不用再判断,最终结果已经有;当第一个条件为真时,第二个条件必须得判断。)
逻辑或(||):只要一个为真,则结果一定为真
例子:如果用户user6不存在,就添加用户user6
两种表达方式:(1)!id user6 && useradd user6 (2)id user6 || useradd user6
1、如果用户存在,就显示用户已存在,否则,就添加用户:
id user1 && echo “user1 exists.” || useradd user1
如果用户不存在,就添加,否则,显示用户已存在:
! id user1 && useradd user1 || echo "user1 exists."
如果用户不存在,添加并且给密码,否则,显示其已经存在
!id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."
2、练习题:
(1)、添加3个用户user1,user2,user3;但要先判断用户是否存在,不存在而后在添加
(2)、添加完成后,显示一种添加了几个用户;当然,不能包括因为事先存在而没有添加的。
(3)、最后显示当前系统上共有多少个用户。
3、练习题
写一个脚本,完成以下要求:
(1)如果其UID为0,就显示为管理员;
(2)否则,就显示其为普通用户;
三、条件判断,控制结构
1、单分支if语句
if 判断条件;then
statement1
statement2
...
fi
2、双分支的if语句
if 判断条件;then
statement1
statement2
...
else
statement3
statement4
....
fi
四、shell中进行算术运算
(1)let 算术运算表达式
A=3
B=6
let C=$A+$B
(2)$[算术运算表达式]
A=3
B=6
C=[$A+$B]
(3)$((算术运算表达式))
A=3
B=6
C=(($A+$B))
(4)expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用。
C=`expr $A + $B`
五、练习题
1、写一个脚本
判断当前系统上是否有用户的默认shell为bash;
如果有,就显示有多少个这类用户;否则,就显示没有这类用户。
2、写一个脚本
判断当前系统上是否有用户得默认shell为bash;
如果有,就显示其中一个的用户名;否则,就显示没有这类用户。
转载于:https://blog.51cto.com/5001660/2176820