Come si chiude un file che è stato aperto con / usr / bin / open?

3

Ho aperto un file PDF con / usr / bin / open, e ora mi piacerebbe chiuderlo dalla riga di comando. (Sto scrivendo uno script.)

Come si può fare per farlo?

    
posta aparkerlue 01.01.2015 - 20:13
fonte

1 risposta

3

Non puoi, almeno non direttamente. / usr / bin / open avrà detto ad altre app di aprire il file, e quindi si dissocia immediatamente da tutta la faccenda.

Se sai quale app ha effettivamente aperto, potresti utilizzare gli script per dire all'app di chiuderla. Qualcosa come

/usr/bin/open SomeFile.pdf
# time passes
/usr/bin/osascript -e 'tell application "Preview" to close document "SomeFile.pdf"'

Ma ciò presuppone che tu sappia che Anteprima è l'app, e che questa è la sintassi corretta per dirgli di chiudere un documento e di aver ottenuto il valore corretto per il nome del documento.

Puoi eliminare parte dell'incertezza specificando l'app nel comando open e assumendo che il documento sarà ancora il documento anteriore quando lo script vorrà chiuderlo.

/usr/bin/open -a Preview SomeFile.pdf
# do some stuff
/usr/bin/osascript -e 'tell application "Preview" to close front document'

(Potrebbe essere più robusto riferirsi all'app tramite il suo ID bundle piuttosto che il nome

/usr/bin/open -b com.apple.Preview SomeFile.pdf
# do some stuff
/user/bin/osascript -e 'tell application id "com.apple.Preview" to close front document

ma è appena più che una questione di stile.)

In generale, / usr / bin / open può aprire qualsiasi cosa. Si comporta come un doppio clic, quindi può "aprire" le finestre (nel Finder), le applicazioni (come se stesse), le immagini del disco (montandole), le condivisioni di rete (collegandosi ad esse) o anche i documenti ordinari (avviando il app attualmente selezionata come app predefinita per quel tipo di documento). Ognuno di questi sapori di "open" ha il proprio sapore di "vicino".

    
risposta data 01.01.2015 - 23:28
fonte

Leggi altre domande sui tag