bash中的条件判断
条件测试类型
1、整数测试
2、字符测试
3、文件测试
条件测试表达式
[ expression(表达式) ] 中括号和表达式之间必须有空格
-eq 测试是否相等,相等为真,不相等为假
-ne 不相等为真,相等为假
-gt 大于为真
-lt 小于为真
-ge 大于等于为真
-le 小于等于为真
命令间的逻辑关系
&& 与,第一个条件为真,则要验证第二个条件是否为真;第一个条件为假,不验证第二个条件,就为假
|| 或
! 非
变量的命名规则
1、只能包含数字,字母,下划线,不能以数字开头
2、不应该与系统已有的环境变量重名
3、名字尽量有意义
脚本练习(用逻辑关系)
1、如果用户存在,则输出user exists
id user1 &> /dev/null && echo "user1 exists"
2、如果用户不存在,就添加用户
! id user1 &> /dev/null && adduser user1
3、如果用户已存在,就显示用户已存在,否则就添加用户
id user7 &> /dev/null && echo "user7 exists" || adduser user7
4、如果用户不存在,就添加用户,否则就显示用户已存在
! id user1 &> /dev/null && adduser user1 || echo "user1 exists"
5、如果用户不存在,添加用户并且给密码,否则就显示用户已存在
! id user8 &> /dev/null && adduser user8 && echo "user8" | passwd --stdin user8 &> /dev/null ||echo "user8 exists"
6、给定一个用户,如果UID为零,就显示管理员,否则显示普通用户
#!/bin/sh
username=user1
userid=`id -u $username`
[ $userid -eq 0 ] && echo "administrator" || echo "common user"
或
条件判断,if语句控制结构
if 判断条件; then
表达式1
表达式2
表达式3
……
fi
或
if 判断条件
then
表达式1
表达式2
表达式3
……
fi
if 判断条件; then
表达式1
表达式2
表达式3
……
else
表达式1
表达式2
表达式3
……
fi
注意事项: fi单独一行;then可以单独一行; then在判断条件后,用分号隔开
使用if条件判断语句来实现
1、如果用户不存在,添加用户并且给密码,否则就显示用户已存在
if ! id user9 &> /dev/null ; then
adduser user9
echo "user9" | passwd --stdin user9 &> /dev/null
else
echo "user9 exists"
fi
2、给定一个用户,如果UID为零,就显示管理员,否则显示普通用户
username=root
if [ `id -u $username` -eq 0 ] ; then
echo "administrator"
else
echo "common user"
fi
转载于:https://blog.51cto.com/11193863/2315567