Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

applescript et terminal

5 réponses
Avatar
miclair
bonsoir
voici mon problème : avec applecript je passe une commande au terminal
dans le genre :
do script ....
mais comment récupérer dans applecript le résultat que terminal affiche?
merci de vos lumières

5 réponses

Avatar
mathias.news+spam
wrote:

bonsoir
voici mon problème : avec applecript je passe une commande au terminal
dans le genre :
do script ....
mais comment récupérer dans applecript le résultat que terminal affiche?
merci de vos lumières


Salut,

set variable to do shell script "date"

Mathias

Avatar
miclair
Mathias Terreaux <mathias.news+ wrote:

wrote:

bonsoir
voici mon problème : avec applecript je passe une commande au terminal
dans le genre :
do script ....
mais comment récupérer dans applecript le résultat que terminal affiche?
merci de vos lumières


Salut,

set variable to do shell script "date"

Mathias


merci beaucoup !


Avatar
yvon.thoravalNO-SPAM
wrote:

voici mon problème : avec applecript je passe une commande au terminal
dans le genre :
do script ....


bon, me m'inserre dans ce fil, je fais aussi un do shell script qui
marche bien mais qui a de temps en temps un pb.

dans le do shell script j'ai en argument le classpath d'une appli java
laquelle utilise une bonne dizaine de jars...

donc, quelquefois ces arguments "ne passent pas" au terminal, mais pas
toujours, tout se passe comme si la longueur de la ligne de commande
posait problème au terminal.

je cherche une solution alternative.

j'en ai une sous le coude (gauche :)) au lieu de faire directement ça en
applescript, je file certains aruments à partir as à un autre script
écrit en ruby et là l'équivalent du do shell script n'a pas besoin de
s'afficher dans un terminal...

voyez-vous une autre solution ?

un exemple de commande :

cd /Users/yvonthor/Sites/ultrid/; java -classpath
.:/Users/yvonthor/Sites/ultrid/lib/ant-launcher.jar:/Users/yvonthor/Site
s/ultrid/lib/ant.jar:/Users/yvonthor/Sites/ultrid/lib/bsf.jar:/Users/yvo
nthor/Sites/ultrid/lib/bsh-2.0b1.jar:/Users/yvonthor/Sites/ultrid/lib/de
mo-swingset2.jar:/Users/yvonthor/Sites/ultrid/lib/jhall.jar:/Users/yvont
hor/Sites/ultrid/lib/JimiProClasses.zip:/Users/yvonthor/Sites/ultrid/lib
/js.jar:/Users/yvonthor/Sites/ultrid/lib/org-ultrid-database.jar:/Users/
yvonthor/Sites/ultrid/lib/org-ultrid-jaudio.jar:/Users/yvonthor/Sites/ul
trid/lib/org-ultrid-jlaunch-url.jar:/Users/yvonthor/Sites/ultrid/lib/org
-ultrid-yvonthor-jcombo-date.jar:/Users/yvonthor/Sites/ultrid/lib/pg74jd
bc3.jar:/Users/yvonthor/Sites/ultrid/lib/rowset.jar:/Users/yvonthor/Site
s/ultrid/lib/skinlf.jar:/Users/yvonthor/Sites/ultrid/lib/SwingSet2.jar:/
Users/yvonthor/Sites/ultrid/lib/ultrid.jar:/Users/yvonthor/Sites/ultrid/
lib/yvonthor.jar:/Users/yvonthor/Sites/ultrid/modules/:/Users/yvonthor/S
ites/ultrid/cache/ -Duser.language=fr -Duser.country=FR
com.ultrid.se.Runner -Trace true -caching false -debug true
/org-ultrid-yvonthor/jcombo-date/demos/combo-date.xpml

ou, question reformulée, y a t'il un moyen plus élégant de passer cette
longueb liste dans le classpath sachant que je souhaite qu'il reste
attaché à cet appli et donc NON mis par défaut dans mon classpath java
(pb de versions entre jars). Mon répertoire /Library/Java/Extensions est
quasiment vide.
--
yt

Avatar
Mathias Terreaux
Yvon Thoraval wrote:
wrote:


voici mon problème : avec applecript je passe une commande au terminal
dans le genre :
do script ....



bon, me m'inserre dans ce fil, je fais aussi un do shell script qui
marche bien mais qui a de temps en temps un pb.

dans le do shell script j'ai en argument le classpath d'une appli java
laquelle utilise une bonne dizaine de jars...

donc, quelquefois ces arguments "ne passent pas" au terminal, mais pas
toujours, tout se passe comme si la longueur de la ligne de commande
posait problème au terminal.

je cherche une solution alternative.

j'en ai une sous le coude (gauche :)) au lieu de faire directement ça en
applescript, je file certains aruments à partir as à un autre script
écrit en ruby et là l'équivalent du do shell script n'a pas besoin de
s'afficher dans un terminal...

voyez-vous une autre solution ?

un exemple de commande :

cd /Users/yvonthor/Sites/ultrid/; java -classpath
.:/Users/yvonthor/Sites/ultrid/lib/ant-launcher.jar:/Users/yvonthor/Site
...


ou, question reformulée, y a t'il un moyen plus élégant de passer cette
longueb liste dans le classpath sachant que je souhaite qu'il reste
attaché à cet appli et donc NON mis par défaut dans mon classpath java
(pb de versions entre jars). Mon répertoire /Library/Java/Extensions est
quasiment vide.


tu peux peut être faire un fichier sh avec ta commande à ralonge.
et tu appelles ton sh depuis ton applescript

enfin j'ai pas l'impression d'avoir tout saisi, c'est peut être ce que
tu fais avec ton ruby


sinon faire ton classpath en plusieurs fois

set cp to "/Users/yvonthor/Sites/ultrid/lib/ant-launcher.jar"
set cp to cp & "......"

do shell script "java -classpath " & cp & "...."


Avatar
yvon.thoravalNO-SPAM
Mathias Terreaux wrote:


tu peux peut être faire un fichier sh avec ta commande à ralonge.
et tu appelles ton sh depuis ton applescript

enfin j'ai pas l'impression d'avoir tout saisi, c'est peut être ce que
tu fais avec ton ruby


sinon faire ton classpath en plusieurs fois

set cp to "/Users/yvonthor/Sites/ultrid/lib/ant-launcher.jar"
set cp to cp & "......"

do shell script "java -classpath " & cp & "...."


merci pour ta réponse, pour l'instant je n'utilise pas ruby dans mon
applescript studio, mais c'est ce que j'envisage de faire, ce qui
revient à ton idée de script sh ou d'utiliser ant.

basiquement avec as je liste tous les jars et zips d'un répertoire et
les ajoute au classpath, ce qui donne une (qqfois trop) longue liste (le
teminal me produit un bip et ne termine pas la "ligne" de commande)...

alors je me demande si java soi-même ne peut pas se contenter d'une
liste avec wildcard du genre :

-classpath
.:/Users/yvonthor/Sites/ultrid/lib/*.jar:/Users/yvonthor/Sites/ultrid/li
b/*.zip:<le reste deux reps module et cache>

ce qui donnerait une liste beaucoup moins longue et m'éviterait
d'hybrider encore plus mon AS-studio qui utilise déjà deux classes
java...
--
yt