一.shell编程之条件判断
1.整数测试
a.条件测试的表达式
[ expression ]
[[ expression ]]
test expression
b.整数比较
-eq: 测试两个整数是否相等;比如 $A -eq $B
-ne: 测试两个整数是否不等;不等,为真;相等,为假;
-gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
-lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
-ge: 大于或等于
-le:小于或等于
c.命令的间逻辑关系
逻辑与: &&
第一个条件为假时,第二条件不用再判断,最终结果已经有
第一个条件为真时,第二条件必须得判断
逻辑或: || 第一个条件为真时,第二条件不用再判断
逻辑非: 取反
存在就添加用户
# id username || useradd username
如果用户存在,就显示用户已存在;否则,就添加此用户
# 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.条件判断,控制结构
单分支if语句
if 判断条件; then
statement1
statement2
...
fi
双分支的if语句
if 判断条件; then
statement1
statement2
...
else
statement3
statement4
...
fi
多分支的if语句
if 判断条件1; then
statement1
...
elif 判断条件2; then
statement2
...
elif 判断条件3; then
statement3
...
else
statement4
...
fi