Salida de "hombre 1 contraseña":
--stdin
This option is used to indicate that passwd should read the new
password from standard input, which can be a pipe.
Entonces, para responder a su pregunta, use el siguiente script:
echo -n "Enter the username: "
read username
echo -n "Enter the password: "
read -s password
adduser "$username"
echo "$password" | passwd "$username" --stdin
Usé read -s
para la contraseña, por lo que no se mostrará mientras se escribe.
Editar: Para usuarios de Debian/Ubuntu -stdin
no funcionará En lugar de passwd
usa chpasswd
:
echo $username:$password | chpasswd