shell整理(35)====模拟用户登录的打印菜单脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell整理(35)====模拟用户登录的打印菜单脚本相关的知识,希望对你有一定的参考价值。
(一)打印一个菜单,接受一个输入,如果没有这个用户就创建用户和密码,将创建的用户和密码写入到一个文件,如果文件中有就模拟一个用户登录,要求用户名任意,可以是(^$ ^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
这个脚本虽然很简单,但是我也根据不同的情况调试了好久.
本文出自 “IT生活” 博客,请务必保留此出处http://dingxue.blog.51cto.com/12290895/1970428
以上是关于shell整理(35)====模拟用户登录的打印菜单脚本的主要内容,如果未能解决你的问题,请参考以下文章