1. 程式人生 > >shell整理(35)====模擬用戶登錄的打印菜單腳本

shell整理(35)====模擬用戶登錄的打印菜單腳本

shell  心得   思考

(一)打印一個菜單,接受一個輸入,如果沒有這個用戶就創建用戶和密碼,將創建的用戶和密碼寫入到一個文件,如果文件中有就模擬一個用戶登錄,要求用戶名任意,可以是(^$ ^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)====模擬用戶登錄的打印菜單腳本