您的位置:首页 > 运维架构 > Shell

shell整理(35)====模拟用户登录的打印菜单脚本

2017-10-05 11:43 381 查看
(一)打印一个菜单,接受一个输入,如果没有这个用户就创建用户和密码,将创建的用户和密码写入到一个文件,如果文件中有就模拟一个用户登录,要求用户名任意,可以是(^$ ^q ),密码分两种可以是空密码,也可以是任意长度的密码。

shell代码如下:

#!/bin/bash

create_user(){
read -p "Plz Input Name:" name
cat file | grep $name &>/dev/null
[ $? -eq 0 ] && echo "The user is exise" && exit 0
if [ -z $name ];then
echo "no exise" && exit 0
fi
read -p "Plz Input Passwd:" passwd
read -p "Plz Input Passwd Again:" passwd1
if [[ "$passwd" != "$passwd1"  ]] ;then
echo "passwd not right" && exit 0
fi
if [ ! -z  "$passwd"  ];then
echo "$name   "$passwd" " >>file
echo "successfully!"
fi
if [ -z "$passwd" ];then
echo "$name   " " " >>file
echo "successfully!"
fi

}
login(){

read -p "Plz Input name:" name
a="`cat file | awk '$1=="'$name'"'|cut -d ' ' -f2-`"
b=`echo "$a" | sed 's/ //g'`
cat file | awk '$1=="'$name'"' &> /dev/null
if [ $? -eq 0 ];then
read -p  "Plz Input your passwd:" passwd
c=`echo $passwd | sed 's/ //g'`

if [[ "$b" = "$c"  ]];then
echo "successfully!"
else
echo error
fi
else
echo "not user;plz to creiate"
fi
}
haha(){
case $cc in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
*)
exit 1
;;
esac

}
cat << EOF
=========please choice=========
1)  create_user
2)  login
3)   exit

EOF
read -p "Choice:" cc
haha

这个脚本虽然很简单,但是我也根据不同的情况调试了好久.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  思考 心得 shell
相关文章推荐