&& 前后任务都成功才算成功
|| 前后有一个任务成功就算成功
[ $USER == root ] && echo "ok" || echo "no"
[ a == a ] && echo "相等" || echo "不等"
a=
[ -z $a ] && echo "为空" || echo "非空"
#!/bin/bash
read - p "请输入账户:" u
[-z $a ] && echo "账户不能为空" && exit
useradd $u
stty -echo
read -p "请输入密码:" p
stty echo
echo $p | passwd -- stdin $u106
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-le 小于等于
-lt 小于
[ -z $a ] //判断是否为空,不为空为真
[ ! -z $a ]判断是否为非空, 为空为真
对文件进行测试
-e 文件是否存在
-d 文件是否存在且是目录
-f 文件是否存在且是普通文件
-r 当前用户对文件是否有读权限
-w 当前用户对文件是否有写权限
-x 当前用户对文件是否有执行权限
[ -e /opt/123 ] 测试123是否存在,不关心文件类型
echo $?
使用if 判断语句
1.单分支
if 条件测试;then
执行指令
fi
2.双分支
if 条件测试1;then
执行指令1
else
执行指令2
fi
3.多分支
if 条件测试1;then
执行指令1
elif 条件测试2;then
执行指令2
else
执行指令3
fi