Bash Read Password
Bash Read Password – In this Bash Tutorial, we shall learn to read username and password from user, with Password being not echoed back to shell.
We shall use read command with following options,
read -p PROMPT <variable_name> displays PROMPT without a new line and echoes input read from user, character by character. The input is read to bash variable. This optionp is suitable for reading Username.
read -sp PROMPT <variable_name> displays PROMPT without a new line and reads input from user in silent mode (does not echo back user input). The input is read to variable. These optionss,p are suitable for reading Password.
Example 1 – Read Password
In this example, we will write a Bash Shell Script to read username and password from console.
Bash Shell Script
#!/bin/bash echo 'Welcome to TutorialKart' read -p 'Username: ' username read -sp 'Password: ' password echo echo "Thank you $username for showing interest in learning with www.tutorialkart.com" ## this echo is for demo purpose only, never echo password echo "Your password is $password"
Note : An empty echo is provided after reading Password becauseread -sp reads input in silent mode and does not echo back input including new line. However pressing enter key after password makes the input be loaded to password variable.
$ ./bash-read-username-password Welcome to TutorialKart Username: Arjun Password: Thank you Arjun for showing interest in learning with www.tutorialkart.com Your password is abc@1234
Example 2 – Read Password with *
In this example, we will read password from user with asterisk echoed back in the console/terminal.
Bash Shell Script
#!/bin/bash unset username unset password # read username read -p 'Username : ' username echo -n "Enter password : " stty -echo #read password charcount=0 while IFS= read -p "$prompt" -r -s -n 1 ch do # Enter - accept password if [[ $ch ==
arjun@arjun-VPCEH26EN:~/workspace/bash/readinput$ ./bash-read-username-password-2 Username : Arjun Enter password : ******** Thank you Arjun for showing interest in learning with www.tutorialkart.com Your password is abc@1234
Recommended Reading : Bash Read User Input
In this Bash Tutorial – Bash Read Password, we have learnt to read password without echoing back the password or masking it with some other characters.