Me gustaría automatizar el flujo de instalación de mi Mac para servicios. El siguiente es mi guión:
#!/bin/sh
rm -rf ./tempWorkflows
mkdir tempWorkflows
for filename in ./*.workflow; do
cp -R "$filename" ./tempWorkflows/"$filename"
done
for filename in ./tempWorkflows/*.workflow; do
open $filename
done
rm -rf ./tempWorkflows
Básicamente, copia todo mi archivo *.workflow
y ábrelo. Sin embargo, para open $filename
, solicita y solicita una confirmación:
¿ Hay alguna forma de agregar --no-prompt
una bandera similar para el comando de apertura?
EDITAR:
Estoy usando El Capitán 10.11.3
Si Automator está cerrado, abra Automator y seleccione Aplicación en Elija un tipo para su documento , luego haga clic en el botón Elegir . Si ya está abierto, elija Archivo > Nuevo y seleccione Aplicación en Elija un tipo para su documento .
Agregue una acción Ejecutar script de Shell.
Copie y pegue el código de shell que tiene actualmente en la acción Ejecutar script de Shell .
Agregue las siguientes líneas de código después de:open $filename
sleep 1
osascript -e 'tell application "System Events" to click button "Install" of window "Service Installer" of process "Automator"'
sleep 1
osascript -e 'tell application "System Events" to click button "Done" of window "Service Installer" of process "Automator"'
Nota: también debe agregar una cd
línea apropiada arriba de la rm -rf ./tempWorkflows
línea que tiene actualmente en su código , por ejemplo cd /some/directory/path
, donde está el nombre de ruta de la ubicación donde .workflow
se encuentran sus archivos para que los procese su secuencia de comandos .
Guarde la aplicación Automator como Install Automator Service . Próximo:
Abra Preferencias del sistema > Seguridad y privacidad > Accesibilidad > Privacidad
Haga clic en el icono de bloqueo para realizar cambios y escriba su contraseña, luego haga clic en el botón Desbloquear .
Utilice el [+] para agregar el servicio Install Automator o arrastre y suelte el paquete de aplicaciones en la ventana. Esto ahora permitirá que la aplicación Install Automator Service ejecute su código de shell y use el código AppleScript para hacer clic en el botón Instalar y luego en el botón Listo en el cuadro de diálogo Instalador de servicios en el proceso de instalación de sus Servicios .
Cuando "Abre con..." un servicio de Automator, la aplicación predeterminada para abrir el archivo es Automator Installer.app
.
Esta aplicación ofrece instalar el Servicio y mueve el archivo al directorio de Servicios de su sistema.
Supongo que si, en cambio, abre el archivo con Automator Runner.app
él, se ejecutará el flujo de trabajo de Automator y no se ofrecerá instalar el Servicio.
Cambie su open $filename
para abrir el archivo con una aplicación específica en lugar de la predeterminada.
usuario3439894
SEE
usuario3439894
osascript
algunas líneas después de laopen $filename
línea. Si está interesado, crearé una respuesta, sin embargo, no tengo OS X 10.11, aunque esto funciona en OS X 10.10, también debería funcionar en OS X 10.11. Hágamelo saber.usuario3439894
$filename
enopen "$filename"
caso de que alguno de sus archivos de Automator Services.workflow
tenga espacios en los nombres.