J'essaie d'écrire une fonction dans la marionnette qui fera un fail
si le chemin de répertoire passé n'existe pas.
if File["/some/path"]
renvoie toujours vrai et if defined(File["/some/path"])
ne renvoie vrai que si la ressource est définie dans marionnette, qu'elle existe réellement ou non.
Existe-t-il un moyen de le faire avec une simple if
déclaration?
Merci
Réponses:
Solution de contournement pour cela: utilisez uniquement si sur un "test" exec et l'exigez dans votre action que vous souhaitez exécuter:
la source
Moi aussi, j'avais du mal à comprendre comment empêcher un module de fonctionner si un répertoire n'était pas présent. C'est ce que j'ai trouvé qui a fonctionné pour moi.
Ajouter le chemin est ce qui a vraiment fait l'affaire pour moi. Pour une raison quelconque, même si j'ai ajouté le chemin d'accès à la commande de test tel
/bin/test
qu'il ne semble pas fonctionner correctement.J'espère que cela aide d'autres personnes qui peuvent avoir le même problème.
la source
Vous pouvez également utiliser la fonction intégrée find_file () pour cela ... elle retourne undef lorsque le fichier / chemin n'existe pas et une chaîne si elle existe.
https://puppet.com/docs/puppet/5.5/function.html#findfile
la source