[Script shell] Sequencement des commandes
gnowar
Messages postés
15
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Lors de l'exécution d'un script, comment s'enchainent les commandes ?
Par exemple, si je lance une installation du style :
yum install -y httpd gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD openssl-devel perl-DBD-MySQL mysql-server mysql-devel php php-mysql php-pear php-snmp php-gd php-ldap perl perl-Crypt-DES perl-Digest-HMAC perl-Digest-SHA1 perl-GD perl-IO-Socket-INET6 perl-Net-SNMP perl-rrdtool perl-Socket6 perl-class-DBI-mysql perl-gettext perl-Config-IniFiles perl-DBI perl-DBD-MySQL rrdtool perl-rrdtool perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl fping graphviz cpp gcc gcc-c++ libstdc++ glib2-devel php-pear php-pear-DB php-pear-DB-DataObject php-pear-DB-DataObject-FormBuilder php-pear-MDB2 php-pear-Date php-pear-Numbers-Roman php-pear-Numbers-Words php-pear-HTML-Common php-pear-HTML-QuickForm php-pear-HTML-QuickForm-advmultiselect php-pear-HTML-Table php-pear-Archive-Tar php-pear-Auth-SASL php-pear-Console-Getopt php-pear-HTTP php-pear-Image-Canvas php-pear-Image-Color php-pear-Image-Graph php-pear-Image-GraphViz php-pear-Mail php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-Socket php-pear-Net-Traceroute php-pear-Net-Ping php-pear-Validate php-pear-XML-RPC
Etant donné que toute ces installations prennent environ 20 minutes, le script va t-il attendre la fin de l'exécution ou passer à la suite une fois la commande lancée ?
Y a t-il une solution moins aléatoire que de caser un sleep 1500 si c'est le cas ?
Merci d'avance !
Lors de l'exécution d'un script, comment s'enchainent les commandes ?
Par exemple, si je lance une installation du style :
yum install -y httpd gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD openssl-devel perl-DBD-MySQL mysql-server mysql-devel php php-mysql php-pear php-snmp php-gd php-ldap perl perl-Crypt-DES perl-Digest-HMAC perl-Digest-SHA1 perl-GD perl-IO-Socket-INET6 perl-Net-SNMP perl-rrdtool perl-Socket6 perl-class-DBI-mysql perl-gettext perl-Config-IniFiles perl-DBI perl-DBD-MySQL rrdtool perl-rrdtool perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl fping graphviz cpp gcc gcc-c++ libstdc++ glib2-devel php-pear php-pear-DB php-pear-DB-DataObject php-pear-DB-DataObject-FormBuilder php-pear-MDB2 php-pear-Date php-pear-Numbers-Roman php-pear-Numbers-Words php-pear-HTML-Common php-pear-HTML-QuickForm php-pear-HTML-QuickForm-advmultiselect php-pear-HTML-Table php-pear-Archive-Tar php-pear-Auth-SASL php-pear-Console-Getopt php-pear-HTTP php-pear-Image-Canvas php-pear-Image-Color php-pear-Image-Graph php-pear-Image-GraphViz php-pear-Mail php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-Socket php-pear-Net-Traceroute php-pear-Net-Ping php-pear-Validate php-pear-XML-RPC
Etant donné que toute ces installations prennent environ 20 minutes, le script va t-il attendre la fin de l'exécution ou passer à la suite une fois la commande lancée ?
Y a t-il une solution moins aléatoire que de caser un sleep 1500 si c'est le cas ?
Merci d'avance !
A voir également:
- [Script shell] Sequencement des commandes
- Classic shell - Télécharger - Personnalisation
- Invite de commandes - Guide
- Script vidéo youtube - Guide
- Commandes terminal mac - Guide
- Ghost script - Télécharger - Polices de caractères
6 réponses
Visiblement on me dit qu'il attend bien la fin de l'install, mais j'ai du mal a comprendre comment il sait que les paquets sont installé ?
Je ne pense pas qu'il se base à 100% sur la réussite de l'installation de tous les paquets, je pense plutôt qu'il sait gérer certaines erreurs, jugées en fonction des dépendances justement, pas de dépendance pour un paquet, je continue et j'en informe à la fin, trop de dépendances et je stoppe l'install, mais en fin de commande c'est sûrement à toi de vérifier (code retour) la bonne marche de ton programme.
Ce n'est que mon avis, attends quand même davantage de retour à ce sujet.
Je ne pense pas qu'il se base à 100% sur la réussite de l'installation de tous les paquets, je pense plutôt qu'il sait gérer certaines erreurs, jugées en fonction des dépendances justement, pas de dépendance pour un paquet, je continue et j'en informe à la fin, trop de dépendances et je stoppe l'install, mais en fin de commande c'est sûrement à toi de vérifier (code retour) la bonne marche de ton programme.
Ce n'est que mon avis, attends quand même davantage de retour à ce sujet.
Je sais bien ça, mais ça veut dire que le script passe à la suite non ?
J'ai besoin d'attendre la fin de l'installation !
J'ai besoin d'attendre la fin de l'installation !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok désolé, je me suis peut être mal expliqué.
En pré requis je dois installer tous ces paquets car dans la suite de mon script j'install nagios et centreon qui ont des dépendances présentes dans ces paquets justement.
Je voulais savoir si le script allait lancer la commande et passer à la suite ou attendre la fin de l'install des paquets. Etant donné que l'install de ces pré requis dure environ 20/25 mn je voulais savoir si il n'y avait pas de timeout (pour pas qu'il stop en pleine install en fait...)
Visiblement on me dit qu'il attend bien la fin de l'install, mais j'ai du mal a comprendre comment il sait que les paquets sont installé ?
Une fois que l'ID du process disparaît il conclu que c'est terminé ?
J'espère être clair :s
En pré requis je dois installer tous ces paquets car dans la suite de mon script j'install nagios et centreon qui ont des dépendances présentes dans ces paquets justement.
Je voulais savoir si le script allait lancer la commande et passer à la suite ou attendre la fin de l'install des paquets. Etant donné que l'install de ces pré requis dure environ 20/25 mn je voulais savoir si il n'y avait pas de timeout (pour pas qu'il stop en pleine install en fait...)
Visiblement on me dit qu'il attend bien la fin de l'install, mais j'ai du mal a comprendre comment il sait que les paquets sont installé ?
Une fois que l'ID du process disparaît il conclu que c'est terminé ?
J'espère être clair :s