Appitieren mit Platypus:
Laden Sie Platypus herunter und erstellen Sie eine App aus dem Shell-Skript.
Beispiel:
Mit den obigen Einstellungen wird eine App mit einem Fortschrittsbalken (einschließlich Details) erstellt und kann beendet werden. Der rsync-Vorgang muss jedoch manuell abgebrochen (abgebrochen) werden.
Die App selbst kann mit Spotlight gefunden werden.
Einfache AppleScript-Lösung:
In Mavericks (und wahrscheinlich später) müssen Sie der AppleScript-App erlauben, den Computer in "Systemeinstellungen -> Sicherheit und Datenschutz -> Datenschutz -> Barrierefreiheit" zu steuern.
Öffnen Sie ScriptEditor, geben Sie den folgenden Codeausschnitt ein und exportieren Sie ihn als Anwendung mit einem eindeutigen Namen:
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
Wenn Sie root-Rechte benötigen, stellen Sie sudo -> "sudo caffeinate -s ...." voran.
Sie können die AppleScript-App verfeinern, indem Sie prüfen, ob in Terminal bereits Fenster geöffnet sind, und ein neues erstellen, um das Shell-Skript auszuführen:
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
Die AppleScript-App kann mit Spotlight gefunden werden.
In Mountain Lion müssen Sie "Systemeinstellungen -> Eingabehilfen -> Zugriff für unterstützendes Gerät aktivieren" aktivieren und ein wenig ändern, damit die AppleScript-App-Lösungen ordnungsgemäß ausgeführt werden:
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 mit "externem" Shell-Skript (backup.sh):
Dies ist der letzte Ansatz, den das OP verwendet. Von hier genommen . In Mavericks (und wahrscheinlich später) müssen Sie der AppleScript-App erlauben, den Computer in "Systemeinstellungen -> Sicherheit & Datenschutz -> Datenschutz -> Barrierefreiheit" zu steuern. Man kann das ganze .sh
(in der App platzierte Contents/Resources/backup.sh
) laden mit:
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
Sie können die AppleScript-App verfeinern, indem Sie prüfen, ob in Terminal bereits Fenster geöffnet sind, und ein neues erstellen, um das Shell-Skript auszuführen:
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