shell流程控制 if
if条件语句语法
单分支
if [ 条件1 ];then
动作
fi
if [ 条件1 ]
then
动作
fi
双分支
if [ 条件1 ];then
动作
else
动作
fi
if [ 条件1 ]
then
动作
else
动作
fi
多分支
if [ 条件1 ];then
动作1
elif [ 条件2 ];then
动作2
else
动作3
fi
if [ 条件1 ]
then
动作1
elif [ 条件2 ]
then
动作2
else
fi
作业
#!/bin/bash
# File Name: __jl.sh__
# Version: __v1.1__
# Author: __zh__
# Mail: __2646491240@qq.com__
# Blog: __https://www.baidu.com__
# DateTime: __2022-07-21 14:55__
for (( ; ; ));do
echo -e "\n-----登录账号------"
read -p "请输入你的用户名: " user
read -s -p '请输入你的密码' pass
if [[ ${#pass} -le 8 && $pass =~ .*[A-Z]+. && $pass =~ .*[a-z]+. && $pass =~ .*[0-9]{1,}.* && $user != ^[0-9].* ]];then
for i in `cat user.txt`;do
if [ $i = ${user}:${pass} ];then
echo -e "\n登录成功"
echo -e "\n--------------------------------------------------------\n------------------------------------------\n--------------\n\n\n---------------------------------------"
break
elif [ `echo $i | cut -d ":" -f 1` = $user ];then
echo -e "\n密码错误"
#break
fi
done
if [ `echo $i | cut -d ":" -f 1` != $user ];then
echo -e "\n-----注册账号------"
read -p "请输入用户名:" user
read -s -p "请输入密码" pass
read -s -p "请确认密码" pass1
if [ $pass = $pass1 ];then
if [[ ${#pass} -le 8 && $pass =~ .*[A-Z]+. && $pass =~ .*[a-z]+. && $pass =~ .*[0-9]{1,}.* && $user != ^[0-9].* ]];then
echo ${user}\:${pass} >> user.txt
else
echo -e "\n-----账号密码格式出错----"
echo -e "\n密码要小于8位数\n账号不能以数字开头\n密码要有大小写字母\n密码要有数字"
break
fi
else
echo -e "\n两次密码不一致"
fi
fi
else
echo -e "\n-----账号密码格式出错----"
echo -e "\n密码要小于8位数\n账号不能以数字开头\n密码要有大小写字母\n密码要有数字"
fi
done