Erstellen und Ausführen von Bash-Shell-Skripten unter Windows 10

  • Chris Hoffman

    @chrisbhoffman

  • Aktualisiert am 7. März 2018, 2:31pm EDT

Mit der Einführung der Bash-Shell von Windows 10 können Sie jetzt Bash-Shell-Skripte unter Windows 10 erstellen und ausführen. Sie können auch Bash-Befehle in eine Windows-Batchdatei oder ein PowerShell-Skript integrieren.

Selbst wenn Sie wissen, was Sie tun, ist dies nicht unbedingt so einfach, wie es scheint. Windows und UNIX verwenden unterschiedliche Zeilenende-Zeichen, und auf das Windows-Dateisystem kann an einem anderen Speicherort in der Bash-Umgebung zugegriffen werden.

So schreiben Sie ein Bash-Skript unter Windows 10

VERWANDT: So installieren und verwenden Sie die Linux-Bash-Shell unter Windows 10

Beachten Sie beim Schreiben von Shell-Skripten unter Windows, dass Windows und UNIX-ähnliche Systeme wie Linux unterschiedliche „Zeilenende“ -Zeichen in Textdateien in Shell-Skripten verwenden.

Werbung

Mit anderen Worten, dies bedeutet, dass Sie nicht einfach ein Shell-Skript in Notepad schreiben können. Speichern Sie die Datei im Editor und sie wird von Bash nicht richtig interpretiert. Sie können jedoch erweiterte Texteditoren verwenden–zum Beispiel Notepad ++ können Sie eine Datei UNIX-Zeilenende-Zeichen geben, indem Sie Bearbeiten > EOL-Konvertierung > UNIX/ OSX-Format.

Es ist jedoch besser, wenn Sie das Shell-Skript nur in der Bash-Umgebung selbst schreiben. Die Ubuntu-basierte Bash-Umgebung enthält sowohl den Vi- als auch den Nano-Texteditor. Der vi-Editor ist leistungsfähiger, aber wenn Sie ihn noch nie verwendet haben, möchten Sie vielleicht mit Nano beginnen. Es ist einfacher zu verwenden, wenn Sie neu sind.

Um beispielsweise ein Bash-Skript in nano zu erstellen, führen Sie den folgenden Befehl in bash aus:

nano ~/myscript.sh

Dies würde den Nano-Texteditor öffnen, der auf eine Datei mit dem Namen „myscript.sh “ im Home-Verzeichnis Ihres Benutzerkontos. (Das Zeichen „~“ repräsentiert Ihr Home-Verzeichnis, daher lautet der vollständige Pfad /home/username/myscript.sh .)

Starten Sie Ihr Shell-Skript mit der Zeile:

#!/bin/bash

VERWANDT: Der Leitfaden für Anfänger zum Shell-Scripting: Die Grundlagen

Werbung

Geben Sie die Befehle ein, die Sie ausführen möchten, jeweils in einer eigenen Zeile. Das Skript führt jeden Befehl nacheinander aus. Fügen Sie vor einer Zeile ein „#“ -Zeichen hinzu, um es als „Kommentar“ zu behandeln, was Ihnen und anderen Personen hilft, das Skript zu verstehen, aber nicht als Befehl ausgeführt wird. Weitere Tricks finden Sie in einer detaillierteren Anleitung zu Bash-Skripten unter Linux. Die gleichen Techniken funktionieren in Bash unter Ubuntu unter Windows.

Beachten Sie, dass es keine Möglichkeit gibt, Windows-Programme in der Bash-Umgebung auszuführen. Sie sind auf Linux-Terminalbefehle und -Dienstprogramme beschränkt, genau wie auf einem typischen Linux-System.

Lassen Sie uns zum Beispiel ein einfaches „hello world“ -Skript als Beispiel verwenden:

#!/bin/bash # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING

Wenn Sie den Nano-Texteditor verwenden, können Sie die Datei speichern, indem Sie Strg + O und dann die Eingabetaste drücken. Schließen Sie den Editor mit Strg+X.

Machen Sie das Skript ausführbar und führen Sie es dann aus

Sie möchten das Skript wahrscheinlich ausführbar machen, damit Sie es einfacher ausführen können. Unter Linux bedeutet dies, dass Sie der Skriptdatei die ausführbare Berechtigung erteilen müssen. Führen Sie dazu den folgenden Befehl im Terminal aus und zeigen Sie ihn auf Ihr Skript:

chmod +x ~/myscript.sh

Advertisement

Um das Skript auszuführen, können Sie es jetzt einfach im Terminal ausführen, indem Sie den Pfad eingeben. Wann immer Sie das Skript in Zukunft starten möchten, öffnen Sie einfach die Bash-Shell und geben Sie den Pfad zum Skript ein.

~/myscript.sh

(Wenn sich das Skript im aktuellen Verzeichnis befindet, können Sie es mit ./myscript.sh )

Arbeiten mit Windows-Dateien in einem Bash-Skript

RELATED: Zugriff auf Ihre Ubuntu Bash-Dateien in Windows (und Ihr Windows-Systemlaufwerk in Bash)

Um auf Windows-Dateien im Skript zuzugreifen, müssen Sie deren Pfad unter /mnt/c angeben, nicht deren Windows-Pfad. Zum Beispiel, wenn Sie das C angeben möchten:\Benutzer \Bob\Downloads\test.txt-Datei müssen Sie /mnt/c/Users/Bob/Downloads /test angeben.txt-Pfad. Weitere Informationen finden Sie in unserem Handbuch zu Dateispeicherorten in der Bash-Shell von Windows 10.

So integrieren Sie Bash-Befehle in ein Batch- oder PowerShell-Skript

VERWANDT: So legen Sie Ihre Standard-Linux-Distribution unter Windows 10 fest

Wenn Sie eine vorhandene Batch-Datei oder ein PowerShell-Skript haben, in das Sie Befehle integrieren möchten, können Sie Bash-Befehle direkt mit dem Befehl bash -c ausführen.

Werbung

Um beispielsweise einen Linux-Befehl in einer Eingabeaufforderung oder einem PowerShell-Fenster auszuführen, können Sie den folgenden Befehl ausführen:

bash -c "command"

Mit diesem Trick können Sie Bash-Befehle in Batchdateien oder PowerShell-Skripte einfügen. Das Bash-Shell-Fenster wird angezeigt, wenn ein Bash-Befehl ausgeführt wird.

Update: Wenn Sie mehrere Linux-Umgebungen installiert haben, können Sie mit dem Befehl wslconfig die Standard-Linux-Umgebung auswählen, die beim Ausführen des Befehls bash -c verwendet wird.

Um eine Verknüpfung zu einem Bash-Skript in Windows zu erstellen, erstellen Sie einfach eine Verknüpfung wie gewohnt. Verwenden Sie für das Ziel der Verknüpfung den oben beschriebenen Befehl bash -c und zeigen Sie auf das von Ihnen erstellte Bash-Skript.

Advertisement

Zum Beispiel würden Sie eine Verknüpfung auf “ bash -c "~/myscript.sh" “ zeigen, um das obige Beispielskript auszuführen. Sie können diesen Befehl auch einfach über eine Eingabeaufforderung oder ein PowerShell-Fenster ausführen.

Chris Hoffman
Chris Hoffman ist Chefredakteur von How-To Geek. Er schreibt seit über einem Jahrzehnt über Technologie und war zwei Jahre lang Kolumnist bei PCWorld. Chris hat für die New York Times geschrieben, wurde als Technologieexperte bei Fernsehsendern wie NBC 6 in Miami interviewt und seine Arbeit wurde von Nachrichtenagenturen wie der BBC abgedeckt. Seit 2011 hat Chris über 2.000 Artikel geschrieben, die fast eine Milliarde Mal gelesen wurden – und das ist nur hier bei How-To Geek.Vollständige Biografie lesen “

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.