Appel d'un script shell à partir d'un Groovy/Graal Application
Comment puis-je appeler un natif script shell à partir d'un Groovy /Graal Application?
Le script shell se trouve sur la même machine.
OriginalL'auteur Daniel Kreiseder | 2009-10-02
Vous devez vous connecter pour publier un commentaire.
Mettre le nom (de préférence avec un chemin absolu) et les arguments dans une liste et appeler
execute()
:Le Groovy la documentation suggère d'utiliser une simple chaîne de caractères à la place. Je déconseille ce que parce qu'il peut causer toutes sortes de problèmes avec des caractères spéciaux, des espaces blancs dans les arguments, etc.
J'ai essayé cette syntaxe dans le script groovy dans le choix cascade de paramètre, mais il n'est pas travaillé ['/home/chemin/vers/shell/script', 'arg1'].execute()
Il fonctionne pour moi. Je vous suggère de regarder le message d'erreur. Et votre script est exécutable, non?
Merci pour l'intérêt Aaron. Il a travaillé pour moi comme ceci :- "sh /home/path/to/script.sh arg".execute(). et si l'argument est enregistré dans une variable "str", puis "sh /home/path/to/script.sh ${str}".execute(). Oui mon script est exécutable.
Si ton exemple fonctionne, alors
['sh', '/home/path/to/script.sh', str].execute()
doivent aussi travailler. En outre, il sera égalementstr
contient des caractères spéciaux. Si le script est vraiment exécutable, puis la première ligne du script est mal en quelque sorte. C'est ce que l'initialesh
correctifs.OriginalL'auteur Aaron Digulla
Vous pouvez utiliser le Groosh module (lien)
lien est rompu,
OriginalL'auteur alexander.egger