J'avais un fichier Windows .bat avec un script pour la compilation d'un projet sur lequel je travaille. La dernière commande est une construction maven. Comme elle prend un certain temps pour se terminer, je voulais être notifié quand elle le fait.
Je me suis dit que le moyen le plus simple serait l'équivalent de echo -e '\a'
. Alors j'ai regardé un peu et j'ai ajouté echo <BELL>
( <BELL>
étant un octet avec le code 0x07) à la fin de mon script. J'ai ajouté echo
devant toutes les commandes pour un test rapide et ça a marché comme sur des roulettes.
J'ai supprimé les échos et exécuté le script. Quelques minutes plus tard, je remarque que c'est terminé. Je n'ai pas entendu la cloche, mais j'ai supposé que je ne faisais pas attention. J'ai refait le test avec des échos et la cloche s'est bien arrêtée. Cependant, cela s'est produit plusieurs fois et je sais maintenant avec certitude que je ne l'ai pas simplement manquée, elle n'est pas là.
J'ai essayé de faire un simple programme C qui exécute juste printf("\a")
pour les mêmes résultats. J'ai alors essayé un echo please work
ce texte n'est pas apparu non plus. J'ai compris que la différence réside dans le fait que la commande maven est ou n'est pas renvoyée. Pour résumer :
- Windows 10, Maven pour Windows comme dernière commande effective dans .bat script.
- Si la commande mvn est précédée de echo, tout fonctionne comme il se doit.
- Si la commande mvn est lancée, les commandes suivantes dans le .bat ne sont pas exécutées.
- Une fois le script terminé, il semble n'y avoir aucun problème avec l'instance cmd.exe.
J'ai Cygwin (nécessaire pour la construction) donc si c'est utile pour le débogage, ce n'est pas un problème.
EDIT : Il semble donc que Maven soit lui-même un fichier batch. Intéressant, where mvn
liste des premiers bhahlabh \mnv (un bash script) et ensuite blablabla \mvn.com