2010-07-12 6 views
4

Voici un problème intéressant: L'utilisation du AppleScript method pour lancer une nouvelle commande dans une fenêtre Terminal échoue si Terminal est "occupé"; plus précisément, il va ouvrir une nouvelle fenêtre, mais ne parvient pas à exécuter la commande. Par exemple, essayez de copier + coller cette ligne:Exécuter plusieurs commandes dans plusieurs fenêtres Terminal Server avec une seule ligne de bash

osascript -e 'tell application "Terminal" to do script "foo"'; osascript -e 'tell application "Terminal" to do script "bar"'; osascript -e 'tell application "Terminal" to do script "baz"'; 

Quand je lance ce (je suis sur Snow Leopard), je reçois trois fenêtres: Dans la première, la commande foo est exécuté, comme prévu; mais dans les deux autres, je reçois juste une invite vide. Et je reçois des invites vides dans les trois fenêtres si je viens de coller la commande; apparemment Terminal est toujours occupé à traiter l'opération "coller". AppleScript n'est peut-être pas le meilleur moyen de le faire, mais je veux vraiment écrire un script qui lance un tas de fenêtres Terminal, dans l'ordre, et exécute une commande dans chaque. Peut-être que la meilleure façon de le faire est avec un script bash. Tant que je peux créer un alias, je suis content. Alors comment le faites vous?

Répondre

2

quels sont les scripts que vous exécutez

J'ai modifié votre alittle de code pour tester

osascript -e 'tell application "Terminal" to do script "cd Desktop"'; osascript -e 'tell application "Terminal" to do script "cd .."'; osascript -e 'tell application "Terminal" to do script "ls"'; 

et cela semble fonctionner correctement

+0

La première fois que je courais le script, la première deux fenêtres Terminal se figeaient et seul le troisième exécutait le script. La deuxième fois, le premier a couru et les deux autres fenêtres ont gelé. (Par "gelé", je veux dire que rien n'a été exécuté en eux et je n'ai pas pu y entrer de texte, ce qui était le même problème que j'avais avant.) Alors peut-être que c'est bizarre dans ma configuration. –

+0

Confirmé: J'ai commenté mon '.bashrc' et tout a bien fonctionné. Alors maintenant j'ai juste besoin de comprendre ce qui cause des problèmes là-dedans. Merci! –

Questions connexes