1 votes

Comment confirmer la confirmation d'apt-get pendant l'installation de mysql-server

J'essaie d'écrire un bash script qui installera mysql-server-5.6. Je veux demander à l'utilisateur son mot de passe et ensuite je l'utiliserai pendant l'installation de mysql-server et quelques autres configurations.

Mais mon script ne fonctionne pas.

#!/bin/bash
mysql_pass="pass"
mysql_pass_again="wrong pass"
while [ "$mysql_pass" != "$mysql_pass_again" ]
do
    read -s -p "Choose mysql root password: " mysql_pass
    echo -e "\n"
    read -s -p "Repeat mysql root password: " mysql_pass_again

    if [ "$mysql_pass" != "$mysql_pass_again" ]; then
        echo -e "\nPasswords do not match!"
    fi
done

echo -e "\nConfiguring mysql."

sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password password $mysql_pass'
sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password_again password $mysql_pass_again'
sudo apt-get -y --force-yes install mysql-server-5.6 >/dev/null

Après avoir entré le mot de passe, rien ne se passe. Lorsque je supprime >/dev/null, je peux voir que le programme d'installation de mysql m'informe que les mots de passe sont incorrects et que je dois appuyer sur OK.

Cependant, les mots de passe sont les mêmes si je les répète et lorsque l'installation est terminée, je peux me connecter au serveur mysql avec le mot de passe que j'ai entré pendant l'installation.

Comment puis-je dire à apt-get d'appuyer sur OK pour moi ? Merci

0voto

Dusan Plavak Points 161

Le problème est avec la variable entre guillemets simples :

sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password password $mysql_pass'
sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password_again password $mysql_pass_again'

Lorsque je le change en double qoutes "", cela fonctionne...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X