J'ai un AppleScript complexe qui pour certaines raisons doit être exécuté comme commande de ligne simple. Mon script ressemble:Comment est-ce que je peux convertir un applescript complexe dans une commande simple de ligne pour le terminal
tell application "Finder"
tell disk "'myDiskName'"
open
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
set the bounds of container window to {400, 100, 968, 421}
close
open
eject
end tell
end tell
j'exécuter le script en utilisant terminal par:
echo '<SCRIPT>' | osascript
où est le script multiligne ci-dessus - et qui fonctionne tout à fait bien. Maintenant, pour être plus précis, je veux que ce script soit exécuté à l'aide d'une tâche de fourmi, comme:
<exec executable="echo">
<arg line="'<SCRIPT>' | osascript" />
</exec>
Depuis est multiligne, il devient en quelque sorte ignoré/pas exécuté, mais il ne jette pas une exception soit . Je vois deux solutions: soit une commande de ligne unique, ce qui est préférable, soit une application autonome qui est appelée. Voici la chose: le script ci-dessus a besoin de certaines variables dynamiques, qui doivent être générées à partir de l'antscript à l'exécution - donc la création du script à la volée pourrait ne pas être une option.
J'aime beaucoup cette réponse. C'est facile, réutilisable et sémantiquement très agréable. Merci. – gamma