Ich möchte in Spotlight nach einem Shell-Skript (oder etwas, das ein Shell-Skript aufruft) suchen können und dass ein solches Shell-Skript ein Terminal-Fenster öffnet, damit die Ausgabe live angezeigt wird (und ich damit unterbrechen kann ctrl + C).
Im Moment habe ich eine backup.sh
#!/bin/bash
caffeinate -s \
rsync -hva --progress --stats --delete "/path/to/source/" "/path/to/destination"
Das habe ich umbenannt, backup.command
damit ich in Finder doppelklicken kann und es funktioniert einwandfrei. Ich kann jedoch nicht in Spolight danach suchen, da Spotlight nur nach Anwendungen, Systemeinstellungen und Kontakten suchen soll. Wenn ich Developer ankreuze, werden backup.command
jedoch auch viele unerwünschte Dateien angezeigt , die nur unnötig sind.
Was kann ich machen?
Ich habe versucht, es zu aktivieren , aber dann wird es im Hintergrund ausgeführt und es wird kein neues Terminalfenster geöffnet, sodass ich den Fortschritt nicht sehen kann und auch den Fortschritt nicht stoppen kann ctrl + C. Irgendein Vorschlag?
quelle
backup
, in das platzieren$PATH
und es einfach von einem Terminal aus aufrufen können, indem Sie eingebenbackup
und die Eingabetaste drücken? Warum nicht einfach Time Machine verwenden? Es scheint viel einfacher zu sein als alles, was Sie durchgemacht haben, um dies zum Laufen zu bringen.Antworten:
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:
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:
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:
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 platzierteContents/Resources/backup.sh
) laden mit: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:
quelle
backup.sh
oder zu startenbackup.command
. Wie würde diese AppleScript-Lösung auf jeden Fall funktionieren?activate
, um das Terminalfenster nach vorne zu bringen. Wenn das nicht in Ordnung ist, können Sie es natürlich löschen.Führen Sie dann
chmod 755 NameOfYourScript
vom Terminal aus./NameOfYourScript
Wenn Sie
ls
es grün erscheinenquelle