Applicazione con Platypus:
Scarica Platypus e crea un'app dallo script di shell.
Esempio:
Leimpostazioniprecedenticreanoun'appconunabarradiavanzamento(dettagliinclusi)epossonoessereabbandonate-ilprocessorsyncdeveesserecancellato(ucciso)manualmente.
L'appstessapuòesseretrovataconSpotlight.
SoluzioneAppleScriptsemplice:
InMavericks(eprobabilmentepiùtardi)deviconsentireall'appAppleScriptdicontrollareilcomputerin"Preferenze di sistema - > Sicurezza e privacy - > Privacy - > Accessibilità"
Apri ScriptEditor, inserisci lo snippet di codice qui sotto ed esportalo come applicazione con un nome univoco:
tell application "Terminal"
delay 2
set newWindow to do script "caffeinate -s rsync -hva --progress --stats --delete /path/to/folder /path/to/folder2"
activate
end tell
Se hai bisogno dei permessi di root antepida sudo - > "sudo caffeinate -s ...."
Puoi perfezionare l'app AppleScript verificando che Terminal abbia già finestre aperte e ne crei una nuova per eseguire lo script della shell:
set myScript to "caffeinate -s rsync -hva --progress --stats --delete /path/to/folder /path/to/folder2"
tell application "System Events"
if exists (window 1 of process "Terminal") then
tell application "Terminal"
set newWindow to do script myScript
activate
end tell
else
tell application "Terminal"
delay 2
set Window1 to do script myScript
activate
end tell
end if
end tell
L'app AppleScript può essere trovata con Spotlight.
In Mountain Lion devi abilitare "Preferenze di sistema - > Accessibilità - > Abilita accesso per dispositivo assistivo" e cambialo leggermente per far funzionare correttamente le soluzioni di app di AppleScript:
set myScript to "caffeinate -s rsync -hva --progress --stats --delete /path/to/folder /path/to/folder2"
tell application "System Events"
if exists (window 1 of process "Terminal") then
tell application "Terminal"
reopen
activate
set newWindow to do script myScript
end tell
else
tell application "Terminal"
reopen
activate
do script myScript in window 1
end tell
end if
end tell
AppleScript con script di shell "esterno" (backup.sh):
Questo è l'approccio finale che l'OP sta usando. Tratto da qui . In Mavericks (e probabilmente più tardi) devi consentire all'applicazione AppleScript di controllare il computer in "Preferenze di sistema - > Sicurezza e privacy - > Privacy - > Accessibilità". Si può caricare l'intero .sh
(inserito nell'app in Contents/Resources/backup.sh
) con:
set bashFile to path to resource "backup.sh"
tell application "Terminal"
delay 1
activate
set newWindow to do script "bash " & quoted form of (POSIX path of bashFile)
end tell
Puoi perfezionare l'app AppleScript verificando che Terminal abbia già finestre aperte e ne crei una nuova per eseguire lo script della shell:
set bashFile to path to resource "backup.sh"
tell application "System Events"
if exists (window 1 of process "Terminal") then
tell application "Terminal"
delay 1
set newWindow to do script "bash " & quoted form of (POSIX path of bashFile)
activate
end tell
else
tell application "Terminal"
delay 2
set Window1 to do script "bash " & quoted form of (POSIX path of bashFile)
activate
end tell
end if
end tell