Come posso importare un file .terminal usando la riga di comando?

2

Sto scrivendo uno script (Bash) per automatizzare la configurazione del mio ambiente Mac e mi piacerebbe fare questo , tranne per l'utilizzo della sola riga di comando. Mi piacerebbe anche rendere questo tema come predefinito.

Ho un file .minminal esportato e tutto pronto, non riesco a capire come farlo a livello di programmazione. C'è una documentazione per questo da qualche parte che mi manca?

... o sarebbe più facile usare AppleScript? Tuttavia, non l'ho mai fatto prima.

    
posta Matt 15.08.2013 - 17:49
fonte

2 risposte

1

Utilizza il comando open , seguito dal cambio di preferenza:

open ~/MyTerminalSettings.terminal
defaults write com.apple.terminal "Default Window Settings" "MyTerminalSettings"

Il comando open aprirà ulteriormente una nuova finestra di Terminale, ma lo script continuerà a essere eseguito nella finestra originale, e puoi chiudere la nuova finestra quando conveniente.

    
risposta data 15.08.2013 - 18:41
fonte
0

Questa non è una risposta, ma i mattoni di base che dovrai usare per scrivere lo script della shell.

  1. Verifica che Terminal non sia in esecuzione per evitare di corrompere il suo plist:

    if ps ax | grep '[/]Terminal' >/dev/null 2>&1 ; then
        echo Terminal running! >&2 && exit 2
    fi
    # go ahead
    

    fai attenzione al [/] che è qui per evitare a grep il tuo grep comando che avrà sempre successo.

  2. Converti il tuo Terminal plist in un file di testo con:

        
    plutil -convert xml1 ~/Library/Preferences/com.apple.Terminal.plist
    
  3. Rimuovi il file .terminal dalla sua intestazione, diciamo che il suo nome è imported.terminal

    sed -n '/<dict>/,/<\/dict>/p' imported.terminal >tmp.terminal
    
  4. Inserisci questo tmp.terminal plist nel file %codice%  all'interno del dizionario giusto.

    Ciò richiederà alcune analisi del contesto per farlo correttamente. Avrei scelto ~/Library/Preferences/com.apple.Terminal.plist se avessi dovuto farlo, ma perl , awk o ex potrebbe essere più semplice con poche righe e test.

risposta data 15.08.2013 - 18:51
fonte

Leggi altre domande sui tag