Output da "man 1 passwd":
--stdin
This option is used to indicate that passwd should read the new
password from standard input, which can be a pipe.
Quindi, per rispondere alla tua domanda, usa il seguente script:
echo -n "Enter the username: "
read username
echo -n "Enter the password: "
read -s password
adduser "$username"
echo "$password" | passwd "$username" --stdin
Ho usato read -s
per la password, quindi non verrà visualizzata durante la digitazione.
Modifica: Per utenti Debian/Ubuntu -stdin
non funzionerà. Invece di passwd
usa chpasswd
:
echo $username:$password | chpasswd