简体   繁体   中英

username, password program in bash

I have a program that asks input from user on their username and password then stores it in a text file column one is usernames and column 2 is passwords, i need a command that replaces the password when the user inputs their username and new password, heres what i have

#!/bin/bash
#admin menu

#Register User
echo enter the username of the user you want to register.
read reguser
echo enter the password of the user you want to register.
read regpass

User_Pass="username_pass.txt"

if [ ! -e "$User_Pass" ]; 
then
echo "Creating Username and Passwords file"
touch $User_Pass
fi

echo "$reguser $regpass" | cat >> $User_Pass

echo user succesfully registered.

#Change Password
echo "Enter the username you want to change the password for"
read change1

change2=$(grep -q $change1 username_pass.txt)

if [ $change2=0 ];
then 
echo enter your new password

read newpass



awk -v newpass="$newpass" -v change1="$change1" '$1 ~ change1 {$2 = newpass}' username_pass.txt
#i tried this but it didnt work


    echo "password changed!"
else
    echo "no such username."
fi

您可以使用sed

sed -i "s/$change1.*/$change1 $newpass/" username_pass

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM