J'ai un script (dans un fichier .sh
) à exécuter une fois à chaque fois que je me suis connecté. Mais je dois m'assurer que le service mysql est déjà en cours d'exécution avant le script principal de mon .sh
exécuté.
Voici mon brouillon:
function check_mysql(){
// script for checking mysql
return status
}
mysqlstatus = check_mysql()
while mysqlstatus == false {
mysqlstatus = check_mysql()
}
// once mysqlstatus == true
// my main script
// my main script
// my main script
// my main script
Comment écrire le brouillon ci-dessus dans un script shell?
Enfin j'ai trouvé la réponse! :RÉ
while !(mysqladmin ping)
do
sleep 3
echo "waiting for mysql ..."
done
echo "starting the main script"
#main script
#main script
#main script
MERCI de m'avoir signalé cette commande ping de mysqladmin!
Cela va être très utile quand on a affaire à Docker.
Voici ce que j'ai fini par faire:
# Returns true once mysql can connect.
mysql_ready() {
mysqladmin ping --Host=database --user=root --password=MYSQL_ROOT_PASSWORD > /dev/null 2>&1
}
while !(mysql_ready)
do
sleep 3
echo "waiting for mysql ..."
done