Ok it goes without saying that I am very new to Unix. Basically I'm trying to make a very simple log in scrip to run in terminal, where the user and pass are taken from a text file (in the form "user|password"), compared with what the user types in for username and password, and then has a different outcome if login is successful or not. So far I'm stuck on the follow bit of script:


IFS='|' #Set Internal Field Seperator

while read user pass
do

for i in /home/linuxbox/scripts/login_script/logins.txt
do
if [ "$username" = "$user" ] && [ "$password" = "$pass" ]

echo "Access Granted" #access is granted
exit
else
echo "Access Denied"
fi
done

done < /home/linuxbox/scripts/login_script/logins.txt

If I type in say the third user/pass combination it will return:
Enter Username:
test
Enter Password:
test
Access Denied
Access Denied
Access Granted

As far as I can tell I need to set the else statement outside the loop however am stuck on how to do so. Any help (or thoughts on a better way of doing it) would be appreciated. Oh and sorry about the messy script, its been changed a lot and I got lazy with formatting.