Bonjour,
Je débute avec le bash, donc d'avance merci pour votre indulgence.
J'ai écrit un script interactif pour déploiement de fichiers applicatifs (tomcat)
Une boucle while après une fonction de déploiement renvoie sur cette fonction tant que l'utilisateur souhaite effectuer un autre déploiement.
Cette boucle effectue un ajustement des variables relatives au déploiement, et enregistre entre autres une variable dont la valeur correspond à un script d'init dans /etc/init.d/
A chaque boucle sur la fonction de déploiement le script d'init est utilisé pour stopper le service correspondant.
Je voudrais pouvoir relancer chaque service, non pas à la fin de chaque boucle, mais après exécution de l'ensemble des déploiements, c'est à dire après sortie de cette boucle.
J'ai pensé à stocker chaque valeur différente dans un fichier et passer ensuite sur une boucle for, mais je n'ai pas encore testé et je me demande s'il n'y a pas plus "simple" (sans passer par un fichier tiers).
Afin de pouvoir lancer en fin de script :
/etc/init.d/x start
/etc/init.d/xy start
/etc/init.d/xyz start
Et où le nombre de redémarrage et le nom des services sont variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 DEPLOY=0 while [ $DEPLOY -eq 0 ] do read -p "Souhaitez vous déployer une autre application tomcat (y/n) ? " -n 1 if [[ $REPLY =~ ^[YyOo]$ ]] then [...] echo "QUEL EST LE NOM DU SCRIPT DE DEMARRAGE DE CET APPLICATIF ?" echo "Exemple : tomcat-x" read SCRIPT_INIT echo "" DEPLOY=0 deploiement else echo "" echo "Plus d'applicatif a deployer." echo "Le deploiement est termine. " echo "" DEPLOY=1 fi done
J'espère avoir été clair, mais dispo pour toute précision.
Merci d'avance pour votre aide.
Partager