it-swarm.com.de

Wie mache ich diese Datei.sh per Doppelklick ausführbar?

Zuerst benutze ich einen Mac.

Als nächstes muss ich diese "file.sh" ausführen, wir werden sie aufrufen. Jedes Mal, wenn ich es ausführen muss, muss ich Terminal öffnen und Folgendes eingeben:

cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh

Das ist in Ordnung, aber ich denke, es wäre viel schneller, wenn ich die Datei per Doppelklick ausführen würde, oder?

Meine Frage ist also, wie mache ich diese Datei per Doppelklick ausführbar?

Meine Ideen waren entweder:

a) tippe so etwas wie chmod in terminal und ändere die berechtigungen?

b) eine Datei erstellen, den Code, den ich oben geschrieben habe, einfügen ^ und diese Datei dann ausführbar machen?

c) irgendwie eine Automatisierung machen um das zu tun?

Welcher Weg ist der beste oder gibt es einen noch besseren? Bitte erklären Sie mir auch so viel wie möglich, ich bin neu in Terminal. Vielen Dank.

148
Jacob

Standardmäßig werden *.sh - Dateien in einem Texteditor (Xcode oder TextEdit) geöffnet. Um ein Shell-Skript zu erstellen, das beim Öffnen in Terminal ausgeführt wird, benennen Sie es mit der Erweiterung "command", z. B. file.command. Standardmäßig werden diese an das Terminal gesendet, das die Datei als Shell-Skript ausführt.

Sie müssen auch sicherstellen, dass die Datei ausführbar ist, z.

chmod +x file.command

Andernfalls wird das Terminal die Ausführung verweigern.

Beachten Sie, dass das Skript in diesem speziellen Szenario nicht mit einem #! - Präfix beginnen muss, da Terminal die Ausführung mit Ihrer Standard-Shell speziell anordnet. (Natürlich können Sie eine #! - Zeile hinzufügen, wenn Sie die verwendete Shell anpassen oder sicherstellen möchten, dass Sie sie von der Befehlszeile aus ausführen können, während Sie eine andere Shell verwenden.)

Beachten Sie auch, dass Terminal das Shell-Skript ausführt, ohne das Arbeitsverzeichnis zu ändern. Sie müssen Ihr Skript mit einem cd -Befehl beginnen, wenn Sie es tatsächlich für ein bestimmtes Arbeitsverzeichnis benötigen.

323
Chris Page

Entfernen Sie die Erweiterung vollständig und doppelklicken Sie dann darauf. Die meisten System-Shell-Skripte sehen so aus. Solange es ein Shebang hat, wird es funktionieren.

30
NobleUplift

Sie können Finder einfach anweisen, die Datei .sh Im Terminal zu öffnen:

  1. Wählen Sie die Datei aus
  2. Holen Sie sich Informationen (cmd-i) dazu
  3. Wählen Sie im Bereich "Öffnen mit" im Popup-Menü "Andere ..."
  4. Wählen Sie Terminal als Anwendung

Dies hat genau den gleichen Effekt wie das Umbenennen in .command, Außer dass Sie es nicht umbenennen müssen :)

  1. Terminal starten
  2. Geben Sie -> nano fileName ein
  3. Fügen Sie den Inhalt der Batch-Datei ein und speichern Sie ihn
  4. Geben Sie -> chmod + x Dateiname ein
  5. Es wird eine exe-Datei erstellt, auf die Sie doppelklicken können.

Der Dateiname sollte in doppelten Anführungszeichen stehen. Da ich Mac benutze-> In meinem Fall ist der Inhalt von Batch-Datei

cd/Users/yourName/Documents/SeleniumServer

Java -jar Selenium-Server-Standalone-3.3.1.jar-Rollen-Hub

Es wird sicher funktionieren

5
Manish