Modifica automaticamente i file Plist con Automator

0

Quindi mi piacerebbe modificare una proprietà del file plist usando l'automazione. Devo modificare il valore di una chiave in modo che sia impostata su 1 minuto prima dell'avvio dell'app di automator. Sono abbastanza nuovo a tutto questo e ho bisogno di aiuto ...

Per un detto SULastCheckTime , avrei bisogno che il valore fosse impostato su Jun 1, 2017, 8:52:56 PM se l'app di automazione fosse stata lanciata alle 8:53 del 1 ° giugno 2017 ...

Grazie

    
posta BenjiMan 01.06.2017 - 14:54
fonte

1 risposta

0

È necessario aggiungere un'azione script della shell allo script dell'automator e eseguire le impostazioni effettive nello script della shell. Non credo sia possibile ottenere l'ora di inizio dello script di automazione, quindi dovrai accontentarti di un timestamp relativo al momento in cui viene eseguito lo script della shell. Se hai davvero bisogno dell'orario di inizio, dovrai aggiungere un'azione per registrarlo tu stesso come primo passo nello script di automazione.

Nella shell, il calcolo del tempo viene eseguito con la data.

date -v 1M

ti dà il tempo un minuto fa. Se hai davvero bisogno di formattarlo nel modo specifico che hai dato sopra, devi formattarlo da solo, in questo modo

date -v -1M '+%b %d, %Y, %H:%M:%S %p'

Qui,% b,% d ecc sono segnaposto per i vari componenti del timestamp; consulta la pagina man per strftime .

Successivamente, è necessario sapere come modificare un file Plist. Puoi usare plutil per questo, in questo modo

plutil -replace SULastCheckTime -string newvalue foo.plist

Mettendo tutto insieme, lo script della shell potrebbe leggere

time='date -v -1M '+%b %d, %Y, %H:%M:%S %p''
plutil -replace SULastCheckTime -string "$time" foo.plist

Qui i backtick prendono l'output della data e lo inseriscono in un tempo variabile; plutil lo inserisce in un file.

Se hai intenzione di usare comunque gli script di shell, puoi considerare di eliminare completamente l'automator a favore degli script di shell.

    
risposta data 01.06.2017 - 20:57
fonte

Leggi altre domande sui tag