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)====模擬用戶登錄的打印菜單腳本