Je crée mon propre script bash, mais je suis coincé pour le moment. Fondamentalement, le script serait utilisé pour automatiser la configuration du serveur dans CentOS. Certains logiciels demandent normalement à l'utilisateur de saisir un mot de passe. Je veux que le script mette le mot de passe que j'ai généré et stocké en tant que variable au lieu de demander à l'utilisateur.
Lorsque le message "Nouveau mot de passe:" apparaît pendant l'installation, comment puis-je faire en sorte que le script mette la valeur stockée dans une variable $key
_ comme si l'utilisateur l'avait tapé, avec un script bash?
Vous devriez trouver que la commande 'expect' fera ce dont vous avez besoin. C'est largement disponible. Voir ici pour un exemple: http://www.thegeekstuff.com/2010/10/expect-examples/
(exemple très approximatif)
#!/usr/bin/expect
set pass "mysecret"
spawn /usr/bin/passwd
expect "password: "
send "$pass"
expect "password: "
send "$pass"
Voici un extrait que j'ai écrit; pour demander le mot de passe des utilisateurs et le définir dans/etc/passwd. Vous pouvez probablement le manipuler un peu pour obtenir ce dont vous avez besoin:
echo -n " Please enter the password for the given user: "
read userPass
useradd $userAcct && echo -e "$userPass\n$userPass\n" | passwd $userAcct > /dev/null 2>&1 && echo " User account has been created." || echo " ERR -- User account creation failed!"