Je souhaite uploader des fichiers avec CURL depuis un Applescript, de type :
1 2
| set commandeShell to "curl -T /Users/.../fichier.zip -u compte:pass ftp://ftpperso.free.fr"
do shell script commandeShell |
Jusque là, j'y arrive. Mais pour ne pas attendre que la commande soit entièrement exécutée (un fichier lourd peut être long à uploader), j'ajoute des indications supplémentaires à la fin. De cette façon, Applescript est à nouveau disponible (et FileMaker aussi, c'est de là que j'envoie l'applescript). Et là aussi ça marche :
J'ajoute à la fin : > /dev/null 2>&1 & echo $!
set commandeShell to "curl -T /Users/.../fichier.zip -u compte:pass ftp://ftpperso.free.fr > /dev/null 2>&1 & echo $!"
(merci de me dire au passage s'il peut y avoir une meilleure syntaxe, le echo je ne sais pas à quoi il sert ?)
Ensuite je veux arriver à uploader plusieurs fichiers les uns après les autres, mais en une seule commande.
Il est possible d'associer les commandes en les séparant par ";" voir : http://www.linuxandlife.com/2012/07/...-terminal.html
Mais je n'y arrive pas (problème de syntaxe)
Et pour finir, je voudrais ajouter un témoin de fin d'upload (l'idéal serait même de voir apparaître un curseur…, mais compliqué je pense).
J'ai trouvé ça sur le net, un shell qui envoie un Applescript dans l'autre sens (ici un simple affichage dialogue avec boutons) :
do shell script "osascript -e 'tell application \"Finder\"' -e \"activate\" -e 'display dialog \"Shell Script running\"' -e 'end tell' > /dev/null 2>&1 &"
En final donc, comment enchainer toutes les lignes depuis un seul do shell script
1 2 3 4 5 6 7 8 9 10 11 12
| set commandeShell to
" fichier 1
"
;
" fichier 2
"
;
" fichier 3
"
;
"osascript affichage dialogue
"
+ /dev/null 2>&1 &
pour rendre la main à Applescript à placer en une fois je suppose, à la fin ?
do shell script commandeShell |
Merci
Partager