-
Il est possible d'utiliser n'importe quelle commande shell depuis un script AppleScript quelconque, et par conséquent il est possible d'exécuter n'importe quel code UNIX depuis un script dans Smile.
Cette fonctionnalité repose sur la commande do shell script, une commande standard d'AppleScript sous MacOS X. Exécuter do shell script [someCommandLine] dans un script, est équivalent à exécuter someCommandLine dans une fenêtre de Terminal (mis à part que do shell script utilise /bin/sh tandis que Terminal utilise tcsh par défaut).
Pour plus de détails concernant la commande do shell script, veuillez consulter la page TN2065 d'Apple.
set x to "Reagan
Bush
Clinton
Bush"
do shell script "echo " & x & "|tr '\\r' '\\n'|sort|uniq"
-- Result:
Bush
Clinton
Reagan
L'exemple ci-dessous exécute un code qui s'appelle spl sur un fichier de données nommé f_in et renvoie le résultat sous forme de string dans la variable s.
-- assume f_in is the POSIX path to some data file with extension .ctl
set f_out to change ".ctl$" into ".out" in f_in with regexp
set sh_scpt to "/sw/bin/spl " & f_in & " > & " & f_out
do shell script sh_scpt
set s to read POSIX file f_out
-
AppleScript et UNIX utilisent des conventions différentes pour décrire les chemins de fichiers. Pour plus de détails, consultez la page suivante :
-
Si l'exécution de votre code dure un certain moment, pour l'exécuter en tâche de fond référez vous au lien suivant :
-
Vous trouverez une liste de commandes shell dans la page suivante :
|