Ausgabe von "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.
Um Ihre Frage zu beantworten, verwenden Sie also das folgende Skript:
echo -n "Enter the username: "
read username
echo -n "Enter the password: "
read -s password
adduser "$username"
echo "$password" | passwd "$username" --stdin
Ich habe read -s
verwendet für das Passwort, damit es während der Eingabe nicht angezeigt wird.
Bearbeiten: Für Debian/Ubuntu-Benutzer -stdin
wird nicht funktionieren. Statt passwd
Verwenden Sie chpasswd
:
echo $username:$password | chpasswd