Esegui il comando all'avvio della finestra terminale personalizzata in OSX10.5 +

1

Sto cercando di trovare un modo per avviare automaticamente un comando quando viene eseguito il terminale, ma:

  1. Chiudi la finestra del terminale dopo che il comando ha restituito il controllo a esso / dopo (utilizzando &) dopo che il comando ha iniziato l'avvio.
  2. Non consentire all'utente di modificare le impostazioni / non avere le impostazioni modificate globalmente.

Ho trovato (principalmente da un articolo relativamente completo su link ) il possibilità di creare un file .terminal e modificare il contenuto (plist) per contenere xml come il seguente.

    <key>ExecutionString</key>
    <string>ssh xyzzy.oreilly.com; exit</string>

Tuttavia:

  1. Data la data di altri post (su google) che mostrano questa funzionalità
  2. Il fatto che la procedura che alla fine ho trovato per creare finestre terminali personalizzate era leggermente diversa dalle istruzioni nell'articolo precedente
  3. Il fatto che (almeno con OSX10.5) sono ora file .term (e si lamentano che il file non è eseguibile se modificato in .terminal)

... credo che qualche versione di OSX, postare tutte le informazioni che posso trovare su questa tecnica, abbia cambiato questa funzionalità. È corretto in qualsiasi versione di OSX 10.5 +?

Inoltre, c'è ancora un modo per avviare automaticamente un comando in una finestra terminale personalizzata (o simile, che non è AppleScript / Automater / etc)?

    
posta user66001 19.01.2013 - 21:01
fonte

1 risposta

1

ExecutionString è stato modificato in CommandString Usalo allo stesso modo. Quando esegui una shell > Esporta impostazioni ... emette un file .terminal. Nel mio file si trova immediatamente dopo

<key>BackgroundSettingsForInactiveWindows</key>
<true/>
<key>CommandString</key>
<string>/blah/blah/blah/blah.sh run</string>

(MountainLion 10.8.5)

Quindi eseguirai il seguente comando dal terminale o da uno script ...

open ~/Documents/blah.terminal
    
risposta data 27.12.2013 - 20:09
fonte

Leggi altre domande sui tag