IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

 
Reply to this topicStart new topic
> applescript et terminal
Options
christianbis
posté 14 Jan 2003, 00:43
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 160
Inscrit : 25 May 2002
Membre no 2 541



Bonjour,
Je desire faire un petit script pour me connecter à mldonkey via le terminal mais j'avoue que n'y connais pas grand chose.
Voici le script :
tell application "Terminal"
activate
do script with command "cd /mldonkey2.00r2/mldonkey2r2"
do script with command "./mldonkey >& mldonkey.log &"
do script with command "telnet localhost 4000"
end tell

Le résultat est que trois fenêtres du terminal s'ouvrent avec chacune une commande alors que je n'en voudrais qu'une avec les 3 commandes !
Go to the top of the page
 
+Quote Post
Bru
posté 14 Jan 2003, 08:59
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 510
Inscrit : 7 Oct 2001
Membre no 962



Dans une même ligne de commande, il est possible d'enchainer à la suite plusieurs commandes: il suffit de les séparer par un point-virgule.

Dans ce cas il ne te reste qu'à faire un seul DO SCRIPT avec les 3 commandes.
Go to the top of the page
 
+Quote Post
christianbis
posté 14 Jan 2003, 09:33
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 160
Inscrit : 25 May 2002
Membre no 2 541



Bonjour,

Si je fais ce que tu dis mon script devient alors :

tell application "Terminal"
activate
do script with command "cd /mldonkey2.00r2/mldonkey2r2";"./mldonkey >& mldonkey.log &";"telnet localhost 4000"
end tell

Et là le terminal ne s'ouvre plus et j'ai un message d'erreur qui apparait en meme temps que Applescript s'arrête sur le point virgule.
Le message d'erreur est le suivant :
end of line, etc. attendu mais unknown token trouvé.
Go to the top of the page
 
+Quote Post
Bru
posté 14 Jan 2003, 10:41
Message #4


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 510
Inscrit : 7 Oct 2001
Membre no 962



NON, c'est DANS la ligne de commande qu'on peut enchainer les commandes, et non dans le srcipt lui-même :

tell application "Terminal"
activate
do script with command "cd /mldonkey2.00r2/mldonkey2r2; ./mldonkey >& mldonkey.log &; telnet localhost 4000"
end tell
Go to the top of the page
 
+Quote Post
christianbis
posté 14 Jan 2003, 11:12
Message #5


Adepte de Macbidouille
*

Groupe : Membres
Messages : 160
Inscrit : 25 May 2002
Membre no 2 541



Ok merci cela marche.
Il y a encore un petit défaut mais je ne sais pas si l'on peut faire quelque chose. Le terminal m'ouvre maintenant 2 fenêtre. Une où il ne met rien et la seconde où il exécute les commandes.
Y - a - t - il un moyen d'empêcher l'ouverture de cette première fenêtre.

D'autre part lorsque les commandes ont été exécutées y a t il un moyen toujours via applescript de masquer l'application terminal.
J'ai bien dit masquer et non quitter.
Go to the top of the page
 
+Quote Post
Bru
posté 14 Jan 2003, 11:45
Message #6


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 510
Inscrit : 7 Oct 2001
Membre no 962



La première fenêtre qui s'ouvre est due à tell "Terminal" (en effet à chaque lancement de l'appli, une fenêtre vierge apparait). La seconde est provoquée par do script, et doit se refermer toute seule à la fin de l'exécution de la commande.

Je ne connais pas le dictionnaire du terminal, alors je ne sais pas si on peut manipuler les fenêtres du terminal par script.

Pour masquer une application, regarde dans le dictionnaire du finder, tu y trouveras la commande pour le faire.
Go to the top of the page
 
+Quote Post
christianbis
posté 14 Jan 2003, 23:33
Message #7


Adepte de Macbidouille
*

Groupe : Membres
Messages : 160
Inscrit : 25 May 2002
Membre no 2 541



Un grand merci
Go to the top of the page
 
+Quote Post
istreen
posté 8 Aug 2011, 19:23
Message #8


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 577
Inscrit : 2 Jan 2006
Membre no 52 717



Bonsoir,

Je me suis basé sur l'exemple trouvé sur ce poste pour essayer de faire mon premier apple script.


tell application "Terminal"
activate
do script with command "sudo mkdir -p /opt/mports; sudo mkdir -p /opt/mports>; cd /opt/mports ; sudo svn checkout http://svn.macports.org/repository/macports/ trunk ; cd trunk/base ; sudo ./configure --enable-readline ; sudo make install ; sudo make distclean"
end tell

Les commandes terminales sont

sudo mkdir -p /opt/mports
cd /opt/mports
sudo svn checkout http://svn.macports.org/repository/macports/trunk
cd trunk/base
sudo ./configure --enable-readline
sudo make install
sudo make distclean


mais le script me donne une erreur de syntaxe


sudo mkdir -p /opt/mports; sudo mkdir -p /opt/mports>; cd /opt/mports ; sudo svn checkout http://svn.macports.org/repository/macports/ trunk ; cd trunk/base ; sudo ./configure --enable-readline ; sudo make install ; sudo make distclean
-bash: syntax error near unexpected token `;'

Ou ai je mal fais svp ?

Merci pour votre aide

si je fais ça


tell application "Terminal"
activate
do script with command "sudo mkdir -p /opt/mports"
do script with command "cd /opt/mports"
do script with command "sudo svn checkout http://svn.macports.org/repository/macports/ trunk"
do script with command "cd trunk/base"
do script with command "sudo ./configure --enable-readline"
do script with command "sudo make install"
do script with command "sudo make distclean"
end tell


Ca m'ouvre plusieurs fenêtres alors que je voudrais que les ordres se fasse l'un à après les autres dans la même fenêtre

avec


tell application "Terminal"
activate
do script with command "sudo mkdir -p /opt/mports & cd /opt/mports & sudo svn checkout http://svn.macports.org/repository/macports/ trunk & cd trunk/base & sudo ./configure --enable-readline & sudo make install & sudo make distclean"
end tell


ça passe mieux déjà


--------------------
Macbook Pro 13 2011 Intel core I7 2.7 Ghz 4Go de ram 1333mhz 500 GO 5400Trs/mins sur Snowleopard 10.6.8
Go to the top of the page
 
+Quote Post
Guest_EricaL**_*
posté 9 Aug 2011, 00:30
Message #9





Guests






Bonsoir,

Citation (istreen @ 8 Aug 2011, 14:23) *
Je me suis basé sur l'exemple trouvé sur ce poste pour essayer de faire mon premier apple script.


tell application "Terminal"
activate
do script with command "sudo mkdir -p /opt/mports; sudo mkdir -p /opt/mports>; cd /opt/mports ; sudo svn checkout http://svn.macports.org/repository/macports/ trunk ; cd trunk/base ; sudo ./configure --enable-readline ; sudo make install ; sudo make distclean"
end tell

il y a trois erreurs dans les commandes de l'AppleScript
1- L'erreur que donne bash est le caractère > dans "mports>"
2- Deux fois la même commande "sudo mkdir -p /opt/mports"
3- L'espace dans "macports/ trunk"

Ceci fonctionne
Code
tell application "Terminal"
    activate
    do script "sudo mkdir -p /opt/mports; cd /opt/mports; sudo svn checkout http://svn.macports.org/repository/macports/trunk; cd trunk/base; sudo ./configure --enable-readline; sudo make install; sudo make distclean"
end tell


Ce message a été modifié par EricaL** - 9 Aug 2011, 00:31.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 21st September 2017 - 08:02