J'ai un simple shell script que j'aimerais incorporer dans un workflow automator. J'ai juste besoin de double-cliquer sur l'application, de choisir un dossier du finder et d'exécuter la commande. Pour l'instant, elle est exécutée dans mon répertoire utilisateur par défaut. J'ai trouvé comment le faire en tant que service, mais j'aimerais que cela fonctionne en tant qu'application. Comment puis-je l'exécuter dans le dossier choisi ? Un glisser-déposer sur l'application serait également appréciable.
Réponses
Trop de publicités?Vous pouvez simplement passer le dossier sélectionné au shell script en sélectionnant "as argument" dans le menu déroulant "pass input :" puis en ajoutant "$@"
à l'endroit de votre script où vous voulez que le chemin du dossier soit utilisé.
Pour utiliser le drag&drop, il suffit de supprimer l'action "demander les éléments du finder" et de laisser l'action "exécuter le shell script" recevoir l'entrée de "l'application peut recevoir des fichiers et des dossiers en entrée".
La façon dont je fais cela est de définir le chemin d'accès à une variable, puis d'ouvrir le flux de travail dans un éditeur de texte, de rechercher la variable, de copier la chaîne, puis d'utiliser $(string) n'importe où dans le flux de travail quel qu'il soit (y compris dans les scripts du shell).