Wie kann ich einen Eintrag im Ordner / Applications erstellen, der einen Befehl im Terminal ausführt?

3

Ich möchte ein Element in dem /ApplicationsOrdner haben, das ein neues Terminalfenster öffnet und einen bestimmten Befehl darin ausführt. Wie kann ich das schaffen?

ændrük
quelle
Benötigen Sie das Terminalfenster oder führen Sie einfach das Kommandozeilenprogramm aus?
Markieren Sie
@Mark Ich benötige das Terminalfenster, damit ich die Ausgabe des Befehls sehen kann.
ændrük
Verzeihen Sie mir die Frage - aber was ist das "Anwendungsmenü" und wie unterscheidet es sich von einem Textdokument, das den Befehl enthält, den Sie ausführen möchten?
bmike
@bmike Mit "Anwendungsmenü" beziehe ich mich auf diese Erfindung . Wie nennt man es? Bewerbungsort?
ændrük,
@ ændrük Das ist nur der /ApplicationsOrdner. (kein trolling oder bevormunden beabsichtigt)
Petruza

Antworten:

3
  1. Erstellen Sie eine neue Textdatei, #!/bin/bashdie mit Ihrem Befehl beginnt und von diesem gefolgt wird

    #!/bin/bash
    
    echo 'Hello world'
  2. Speichern Sie mit .commandoder .toolals Erweiterung wiemyEchoCommand.command

  3. Setzen Sie mit dem chmodBefehl " Ausführen" rechts auf diese Datei .
  4. Sie müssen nur auf diese neu erstellte Datei doppelklicken. Das Terminal öffnet und führt den Inhalt aus.
Bil
quelle
3

Verwenden Sie Automator, den Apple zu einem Teil von OSX gemacht hat.

Erstellen Sie einen Workflow

Wählen Sie im Workflow Dienstprogramme / Shell-Skript ausführen

Speichern als Ändern des Dateiformats in die Anwendung - dies gibt eine .app und wählt das zu verwendende Verzeichnis / Applications

BEARBEITEN, um die Ausgabe anzuzeigen. Der Workflow muss aus drei Schritten bestehen

1) Text-> Neues TextEdit-Dokument erstellen
2) Dienstprogramme / Shell-Skript
ausführen 3) Text-> Inhalt des Textedit-Dokuments festlegen

Kennzeichen
quelle
... und kopiere die resultierende .appDatei in den Ordner, /Applicationssodass sie dort
angezeigt wird
Mir ist nicht klar, wie ich den Automator-Workflow veranlassen kann, ein neues Terminalfenster zu öffnen und den Befehl auszuführen. Können Sie dies bitte näher erläutern?
ændrük
2

Spieltyp

Es kann verwendet werden, um native, fehlerfrei integrierte Mac OS X-Anwendungen aus interpretierten Skripten wie Shell-Skripten oder Perl- und Python-Programmen zu erstellen.

JRobert
quelle
1

Die meisten Leute legen einfach ein Shell-Skript in den gewünschten Ordner und machen es mit ausführbar chomd a+x. Sie können einen beliebigen alten Texteditor verwenden und das Skript als einfachen Text speichern. Wenn Sie die Skripte nicht auch in einem /Applicationsgeeigneten Ordner speichern möchten, spielt es keine Rolle, wo Sie sie speichern, solange sie lesbar und ausführbar sind.

Wenn Sie die Datei speichern unter script.bash.command- müssen Sie Terminal nicht mit .sh oder .bash verknüpfen, da standardmäßig Befehlsdateien ausgeführt werden. Wenn das Skript endet, wird die Terminalsitzung abgemeldet, sodass der Befehl ausgeführt und beendet wird, sodass Sie die Ergebnisse sehen können. Wenn Sie jedoch ein Arbeitsfenster möchten, müssen Sie ein anderes Fenster im Terminal öffnen.

Ist das in Ordnung für dich?

bmike
quelle
-1

Vielleicht brauchst du so etwas wie DTerm ? Es ist nur eine Verknüpfung zum Aufrufen und frei installierbar aus dem AppStore. Sie können es in Ihre Startobjekte aufnehmen und bei Bedarf verwenden. Wenn Ihr Befehl eine Ausgabe liefert, zeigt DTerm dies in einem schwebenden Fenster an.

Tigran Khanzadyan
quelle
DTerm ist nur ein Terminal und produziert keine App
Mark
Ich weiß das, aber wenn Sie den zweiten Kommentar zur Frage überprüfen, denken Sie, dass die Person das Ergebnis eines Befehls und nicht eines Programms / einer App sehen muss. Vor diesem Hintergrund könnte diese Lösung nützlich sein, ohne ein Automator-Skript auszuführen.
Tigran Khanzadyan