1. 程式人生 > >指令碼小測及答案

指令碼小測及答案

使用者登入程式驗證

1、腳本里設定兩個使用者名稱和密碼

2、讓使用者從螢幕輸入賬戶和密碼進行登入

3、如果賬戶輸入錯誤,讓他繼續輸入賬戶

4、賬戶正確。輸入密碼

5、密碼正確,登入成功

6、同一個賬號,密碼最多輸三次,三次都錯,賬號鎖定(此時指令碼不能退出)

7、鎖定賬號後,讓他繼續登入未鎖賬戶

例圖:

指令碼內容:

#!/bin/bash

useradd yonghu
echo "666666" | passwd --stdin yonghu
useradd yonghu1
echo "777777" | passwd --stdin yonghu1
user=yonghu
passwd=666666
user1=yonghu1
passwd1=777777

for q in {1..100}
do
 read -p "請輸入賬號:" a
 if [ "$a" == "$user" ]
 then
  echo "使用者名稱正確"
  for y in 1 2 3
  do   
                        read -p  "請輸入密碼:" b      
                        if [ $b == $passwd ]
                        then
                                echo "密碼正確" && exit
                        elif [ $b -ne $passwd ]
                        then
                                echo "密碼錯誤"
                        fi
  done 
   user=??? && echo "使用者已鎖定"
 else
  if [ $a == $user1 ]
  then
   echo "使用者名稱正確"
  else
   echo "使用者名稱錯誤" && continue
  fi
  for n in {1..3}
  do 
   read -p  "請輸入密碼:" d 
   if [ $d == $passwd1 ]
   then
    echo "密碼正確" && exit
   elif [ $d -ne $passwd1 ]
   then
    echo "密碼錯誤"
   fi
  done
   user1=??? && echo "使用者已被鎖定"
 fi
 if [ $user == ??? ] && [ $user1 == ??? ]
 then
  exit
 fi
done