一、单分支结构
1、语法:
if [ command/test ]; then
符合该条件执行的语句
fi
2、示例:
需求:编写脚本,由用户输入用户名,如果用户不存在,则创建该用户。
[root@localhost ~]# vim useradd.sh #脚本编写
#!/bin/bash
read -p "请输入待创建的用户名:" name
id $name $> /dev/null
if [ $? -ne 0 ] ; then
useradd $name
echo "$name 创建成功"
fi
[root@localhost ~]# chmod +x useradd.sh #脚本授权
[root@localhost ~]# ./useradd.sh #执行脚本
请输入待创建的用户名:op
op 创建成功
二、双分支结构
1、语法:
-
if 条件测试
-
then
-
命令序列
-
else
-
命令序列
-
fi
-
-
2、示例:
-
需求:编写脚本,由用户输入用户名 如果用户不存在,则创建该用户,并设置密码为123456; 否则,提示用户已经存在。
-
[root@localhost ~]# vim useradd.sh #编写脚本 #!/bin/bash read -p "请输入待创建的用户名:" name if id $name &> /dev/null ; then echo "$name 已经存在,不需要创建。" else useradd $name echo "123456" | passwd --stdin $name &> /dev/null echo "$name 创建完成,用户密码是123456" fi [root@localhost ~]# ./useradd.sh #执行脚本 请输入待创建的用户名:op op 已经存在,不需要创建。 [root@localhost ~]# vim useradd.sh [root@localhost ~]# ./useradd.sh 请输入待创建的用户名:ye ye 创建完成,用户密码是123456
-
或
[root@localhost ~]# vim useradd.sh #脚本编写
#!/bin/bash
read -p "请输入待创建的用户名:" name
id $name &> /dev/null
if [ $? -ne 0 ] ;
then
useradd $name
echo "123456" | passwd --stdin $name &> /dev/null
echo "$name 创建成功,用户密码是123456"
else
echo "$name 用户已经存在,不需要创建"
fi
[root@localhost ~]# ./useradd.sh #执行脚本
请输入待创建的用户名:opp
opp 创建成功,用户密码是123456