Antworten:
Machen Sie das Skript zuerst im Terminal ausführbar, indem Sie Folgendes eingeben:
chmod a+x (yourscriptname)
Klicken Sie dann im Finder mit der rechten Maustaste auf Ihre Datei und wählen Sie "Öffnen mit" und dann "Andere ...".
Hier wählen Sie die Anwendung aus, in der die Datei ausgeführt werden soll. In diesem Fall handelt es sich um Terminal. Um ein Terminal auswählen zu können, müssen Sie von "Empfohlene Anwendungen" zu "Alle Anwendungen" wechseln. (Die Anwendung Terminal.app befindet sich im Ordner Dienstprogramme.)
HINWEIS: Wenn Sie nicht alle Dateien mit dieser Erweiterung verknüpfen möchten, die im Terminal ausgeführt werden soll, sollte "Immer geöffnet mit" nicht aktiviert sein.
.command
ist standardmäßig ausführbare Datei aus dem Finder, ohne die Notwendigkeit Finder instruieren , wie sie zu öffnen.
.command
Dateierweiterung um.
Haben Sie versucht, die .command
Dateinamenerweiterung zu verwenden?
chmod +x
), aber die .command
Erweiterung ist bereits mit Terminal verknüpft. Tolle Lösung, danke
Ab OSX 10.10 (Yosemite) und seit mindestens OS X 10.8 (Mountain Lion) ist das Verhalten wie folgt, wenn Sie ausführbare Skripts im Finder öffnen (doppelklicken) :
.command
:
Preferences... > Profiles
können Sie jedoch festlegen, dass das Fenster beim Beenden des Skripts automatisch geschlossen wird .cd -- "$(dirname "$BASH_SOURCE")"
gleich nach der shebang liniecd -- "$(dirname "$0")"
.chmod +x <script>
im Terminal ausführen . Andernfalls treten die folgenden Symptome auf:.command
: Finder zeigt eine irreführende Fehlermeldung an, die darauf hinweist, dass das Problem über behoben werden kann File > Get Info
, was nicht der Fall ist. Verwenden Sie die chmod +x
oben vorgeschlagene Methode.#!/bin/bash
): Verhalten ist wie das Suffix .sh
- siehe unten..sh
, ob ausführbar oder nicht:
TextEdit.app
oder, falls installiert, mit geöffnetXcode.app
..scpt
oder .applescript
(auch wenn sie selbst als ausführbar gekennzeichnet sind, was normalerweise nicht der Fall ist):
[Apple]Script Editor
[1] Ausführbar bedeutet: Ein Skript mit gesetzten ausführbaren Berechtigungsbits und dem aufrufenden Benutzer - relativ zum Besitz der Datei - darf es daher möglicherweise ausführen.
Wenn Sie chmod a+x
setzen alle Berechtigungs - Bits (was typisch ist), jeder kann rufen Sie es (vorausgesetzt , sie sind auch erlaubt lesen Sie die Datei auf der Basis Lese Berechtigungs - Bit (n) und das Eigentum des Datei).
osascript
Sie in die .command
Datei aufnehmen können, anstatt manuell mit dem Profil herumzuspielen.
osascript -e '...'
Befehl am Ende eines Skripts hinzuzufügen ? Was ist der spezifische Befehl und stellt er sicher, dass die rechte Registerkarte geschlossen ist, auch wenn das Skript nicht auf der vordersten Registerkarte ausgeführt wird?
osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &
... Es funktioniert möglicherweise nicht in jedem Szenario, obwohl die Umleitung bei der Ende ist wirklich der Schlüssel - das Osascript kann ansonsten einfach angepasst werden (z. B. muss das Fenster möglicherweise in eine Registerkarte geändert werden, wenn dies das Standardverhalten Ihres Terminals ist usw.).
.command
trotz Ausführung des Profils trotz der Profileinstellung nicht schließen zu lassen ?
bash
Skript handelt, fügen Sie es read -p 'Press Return to close this window.'
als letzte Anweisung hinzu.
Alternativ können Sie mit Platypus eine normale Mac OS X-Anwendung aus Ihrem Skript erstellen
Der einfache Weg ist, die Erweiterung in .command
oder keine Erweiterung zu ändern .
Aber das öffnet das Terminal und Sie müssen es schließen. Wenn Sie keine Ausgabe sehen möchten, können Sie mit Automator eine Mac-Anwendung erstellen, die Sie doppelklicken, zum Dock hinzufügen usw. können.
Automator
Anwendung öffnenRun
Schaltfläche in der oberen rechten Ecke, um es zu testen.File > Save
um die Anwendung zu erstellen.Sie müssen keine Apps von Drittanbietern wie Platypus verwenden.
Erstellen Sie einfach ein Apple-Skript mit dem Skript-Editor und verwenden Sie den Befehl do shell script "shell commands"
für direkte Befehlsaufrufe oder ausführbare Shell-Skriptdateien. Bewahren Sie die bearbeitbare Skriptdatei irgendwo auf und exportieren Sie sie, um ein Anwendungsskript zu erstellen. Das App-Skript kann durch Doppelklick oder Auswahl im Balkenordner gestartet werden.
Sie können mit RCDefaultApp auch Standardeinstellungen nach Dateierweiterung festlegen:
http://www.rubicode.com/Software/RCDefaultApp/
Möglicherweise könnten Sie .sh so einstellen, dass es in iTerm / Terminal usw. geöffnet wird. Es würde Benutzerausführungsberechtigungen erfordern, z
chmod u+x filename.sh