u7.00.01 Opérateur EXEC_LOGICIEL#
Syntaxe#
Détail de la syntaxe
EXEC_LOGICIEL(
◆ LOGICIEL = text,
◇ ARGUMENT = text,
◇ SHELL = / "OUI",
/ "NON" (par défaut),
◇ CODE_RETOUR_MAXI = int,
◇ INFO = / 1,
/ 2 (par défaut),
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Opérande LOGICIEL#
◊ LOGICIEL = nom_exe
Nom de la commande ou de l’exécutable à appeler. C’est une chaîne de caractères (entre “), il faut préciser le chemin complet pour atteindre l‘exécutable.
Mot clé ARGUMENT#
◊ ARGUMENT = l_arg
Permet de définir la liste des arguments passés à l’exécutable. À chaque élément de la liste correspond un argument fourni à l’exécutable. Si un argument contient un espace, l’exécutable récupérera une chaîne de caractères contenant l’espace (voir mot-clé SHELL).
Mot clé SHELL#
◊ SHELL = 'OUI'/'NON'
La bonne pratique consiste à exécuter un programme (mot-clé LOGICIEL) avec une liste d’arguments (mot-clé ARGUMENT). On laisse alors SHELL à sa valeur par défaut qui vaut “NON”.
Parfois, on souhaite exécuter non pas un programme auquel on passe des arguments mais une ligne de commande complète (par exemple commençant par un test if). Dans ce cas, il faut utiliser SHELL=”NON”. Le mot-clé LOGICIEL et les éventuels ARGUMENT[s] supplémentaires sont joints avec un espace pour composer la ligne de commande complète.
Voir la documentation du module subprocess de Python pour les écueils de SHELL=”NON”(False).
Opérande INFO#
◊ INFO = info
Dans le cas où INFO=2, les messages provenant de la commande exécutée sont imprimés dans le fichier MESSAGE. C’est la valeur par défaut. Cela permet de conserver la trace de l’exécution.
Opérande CODE_RETOUR_MAXI#
◊ CODE_RETOUR_MAXI = icode
Valeur maximum du code retour renvoyé par la commande ou le logiciel qui est tolérée pour considérer que l’exécution s’est bien déroulée. Par défaut cette valeur vaut 0, si elle est affectée à –1, le code retour de la commande est ignoré.