bash中如何实现条件判断?
条件测试类型:
整数测试
字符测试
文件测试
条件测试的表达式:
[ expression ]
[[ expression ]]
test expression
整数比较:
-eq:测试两个整数是否相等;比如 $A -eq $B
-ne:测试两个整数是否不等;不等,为真;相等,为假
-gt:测试一个数是否大于另一个数;
-lt:测试一个数是否小于另一个数;
-ge:大于或等于
-le:小于或等于
命令间逻辑关系:
逻辑与:&&
第一个条件为假时,第二条件不再执行
第一个条件为真时,第二条件必须执行
逻辑或:||
变量名称:1、只能包含字母、数字和下划线,并且不能数字开头
2、不应该跟系统中已有的环境变量重名
3、最好做到见名知义
如果用户存在,就显示用户已存在;否则,就添加此用户;
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"
练习:
给定一个用户:
1、如果其UID为0,就显示此为管理员
2、否则,就显示其为普通用户
条件判断,控制结构
if 判读条件;then
fi
提示:“引用”一个命令的执行结果,要使用命令引用;比如:Resaults=`wc -l /etc/passwd`
如果想把一个命令的执行状态结果,要直接执行此命令,一定不能引用;比如:if id user1 一句中的id命令就一定不能加引号;
如果想把一个命令的执行结果赋值给某变量,要使用命令引用,比如USERID=`id -u user1`;
shell中如何进行算术运算
A=3
B=6
1、let 算术运算表达式
let C=$A+$B
exit:退出脚本