Unix read value validation

February 3, 2018 854 views
Miscellaneous Debian

I use this code to store a password variable in the current script:

read -sp "What's your DB user password?" dbuserp

Is there a way to change the command to ask for the password twice and check matching? All in one line?

1 Answer

Unfortunately, it’s not possible to do that using read directly. You will need to ask for input twice and then check if they match:

read -sp "What's your DB user password?" dbuserp
read -sp "Please confirm your DB user password:" dbuserp_conf
if [ "$dbuserp" != "$dbuserp_conf" ]; then
    # passwords do not match
Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!