Come utilizzare AppleScript per avviare tre script, ognuno nella nuova scheda Terminale?

4

Sto provando a lanciare 3 schede ed eseguire uno script in ciascuna con AppleScript. Finora non sono stato in grado di farlo. Attualmente ho:

tell application "Terminal"
    activate
    do script "ping google.com"
    tell application "System Events"
        keystroke "t" using {command down}
        do script "ping yahoo.com"
    end tell
    tell application "System Events"
        keystroke "t" using {command down}
        do script "ping msn.com"
    end tell
end tell

Questo avvierà tre schede ma i ping non verranno eseguiti nelle ultime due schede.

Probabilmente mi manca qualcosa di base qui.

    
posta Nick 28.07.2012 - 03:49
fonte

1 risposta

10
  1. " Eventi di sistema " non capisce cosa vuoi fare con do script , usa il comando do script al di fuori del blocco tell application "System Events" .

  2. Devi specificare una finestra o una scheda quando usi il comando do script , altrimenti verrà aperta una nuova finestra.

Aggiornato ( Lion El Capitan):

tell application "Terminal"
  activate
  do script
  do script "ping google.com" in tab 1 of front window
  my makeTab()
  do script "ping yahoo.com" in tab 2 of front window
  my makeTab()
  do script "ping msn.com" in tab 3 of front window
end tell

on makeTab()
  tell application "System Events" to keystroke "t" using {command down}
  delay 0.2
end makeTab

modifica: sembra che El Capitan memorizzi il primo comando e lo esegua automaticamente all'apertura di una nuova scheda (usando cmd-t , che è ciò che fa lo script), l'esecuzione di do script senza un comando apre la (nuova) finestra del terminale per il completamento di do da utilizzare mentre impedisce l'esecuzione automatica di un comando.

    
risposta data 28.07.2012 - 17:25
fonte

Leggi altre domande sui tag