Welche Schritte sind erforderlich, um ein Befehlszeilenprogramm über eine globale Verknüpfung auszuführen?
Ich habe Automator eingerichtet, um ein neues Run Shell Script zu erstellen, und versucht, eine Verknüpfung in Systemeinstellungen -> Tastatur -> Tastaturkürzel zuzuweisen, aber es ist nichts passiert.
Applescript es:
do shell script "ls ~/Desktop"
Fügen Sie dort hinzu, was Sie wollen, dann können Sie das Applescript über eine globale Hotkey-Anwendung ausführen. Ich würde Spark weiterempfehlen
Oh, und ich weiß nicht, wie man eine Verknüpfung über die Systemeinstellungen zuweist
Ohne die Einzelheiten dessen zu kennen, wonach Sie suchen, würde ich vorschlagen, einen neuen Dienst über Automator zu erstellen . Dienste können an Tastendruck-Trigger gebunden werden und können (unter anderem) Shell-Skripte ausführen.
Um die Tastenkombination einzurichten, gehen Sie zu Systemeinstellungen -> Tastatur -> Verknüpfungen -> Dienste, wählen Sie den gerade gespeicherten Dienst aus und klicken Sie dann auf die Schaltfläche "Verknüpfung hinzufügen".
~/Library/Services
(oder drücken Sie Cmd-Shift-G und geben Sie den Pfad direkt ein), und doppelklicken Sie dann auf Ihren "Service". Es sollte sich im Automator öffnen..zshrc
Datei nicht ausgeführt wird, da dies eine "nicht interaktive Shell" ist. Wenn Sie Umgebungsvariablen in Ihrer .zshrc
Datei festlegen (wie ich), verschieben Sie sie .zshenv
stattdessen in Ihre Datei. Siehe apple.stackexchange.com/questions/388622/…~/Documents/src
und in installiert wird /opt/bin
?Ich habe alle diese Optionen ausprobiert, aber sie sind zu komplex und unzuverlässig oder sehr teuer. Also schrieb ich meine eigene Lösung (Open Source und kostenlos).
Es kann im Moment nicht viel bewirken, aber das ist ein Anfang. Fühlen Sie sich frei, einen Beitrag zu leisten, indem Sie Funktionsanfragen und Vorschläge hinzufügen.
FastScripts enthält alle Skripte in ~/Library/Scripts/, sodass Sie Dateien nicht manuell hinzufügen müssen. Es unterstützt auch anwendungsspezifische Skripte.
Andere Anwendungen, die zum Zuweisen von Verknüpfungen zum Ausführen von Skripts verwendet werden können:
Sie können auch einen Automator-Dienst erstellen:
Es gibt einen Fehler in 10.7 und 10.8, bei dem die Verknüpfungen für Dienste nicht immer funktionieren, bis das Dienstemenü in der Menüleiste angezeigt wurde. Verknüpfungen für Dienste funktionieren nicht, wenn die vorderste Anwendung keine Menüleiste oder kein Dienstemenü hat. Es gibt auch eine kurze Verzögerung, bevor Dienste ausgeführt werden.
Quicksilver kann verwendet werden, um Hotkeys an Aktionen zu binden.
Wenn Sie feststellen, dass Sie etwas häufig tun, können Sie die Aufgabe noch beschleunigen, indem Sie ihr einen „Auslöser“ zuweisen. Trigger können durch Tastaturkürzel oder Mausbewegungen aktiviert werden
Wenn Sie einen Unix-Befehl oder ein Shell-Skript ausführen möchten, finden Sie in diesem Stackoverflow-Beitrag weitere Informationen zur Verwendung des "Terminal-Moduls" von Quicksilver.
Ich werde meine Antwort hier mit BTT hinzufügen , da es einfach ist und tatsächlich direkt an ein Befehlszeilenskript gebunden werden kann:
Klicken Sie auf Speichern und Sie sind fertig! Testen Sie nun Ihr Skript mit dem von Ihnen eingerichteten Tastaturauslöser.
Es scheint, als ob dies in 10.6 verfügbar war (siehe http://hints.macworld.com/article.php?story=20090903085255430 ), aber in 10.7.2 (und möglicherweise früher 10.7) ist etwas kaputt gegangen.
Ich habe jedoch festgestellt, dass die Tastenkombination für Dienste berücksichtigt wird , wenn die Systemeinstellungen im Vordergrund stehen, aber nicht in anderen Anwendungen, einschließlich Finder.
Der frühere Vorschlag, Spark zu verwenden, funktionierte jedoch perfekt in Lion, außer dass ich die Strg-Taste nicht in meiner Tastenkombination verwenden konnte. (kein Hingucker!)
z-Puffer
Daniel