Erstellen und Ausführen von Bash-Shell-Skripts unter Windows 10
Mit der Einführung der Bash-Shell von Windows 10 können Sie jetzt Bash-Shell-Skripts unter Windows 10 erstellen und ausführen. Sie können Bash-Befehle auch 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 Zeilenendezeichen. Auf das Windows-Dateisystem kann an einem anderen Ort in der Bash-Umgebung zugegriffen werden.
So schreiben Sie ein Bash-Skript unter Windows 10
Beachten Sie beim Schreiben von Shell-Skripts unter Windows, dass Windows- und UNIX-ähnliche Systeme wie Linux in Shell-Skripts unterschiedliche Zeilenende-Zeichen in Textdateien verwenden.
Das bedeutet mit anderen Worten, dass Sie nicht einfach ein Shellskript in Notepad schreiben können. Speichern Sie die Datei in Notepad und sie wird von Bash nicht richtig interpretiert. Sie können jedoch auch erweiterte Texteditoren verwenden. In Notepad ++ können Sie beispielsweise einer Datei UNIX-Zeilenendezeichen zuweisen, indem Sie auf Bearbeiten> EOL-Konvertierung> UNIX / OSX-Format klicken.
Es ist jedoch besser, das Shell-Skript in der Bash-Umgebung selbst zu schreiben. Die Ubuntu-basierte Bash-Umgebung ist mit den Texteditoren vi und nano ausgestattet. 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 benutzen, 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
Dadurch wird der Nano-Texteditor geöffnet, der auf eine Datei mit dem Namen "myscript.sh" im Home-Verzeichnis Ihres Benutzerkontos verweist. (Das Zeichen „~“ steht für Ihr Home-Verzeichnis, der vollständige Pfad lautet daher /home/username/myscript.sh.)
Starten Sie Ihr Shellskript mit der Zeile:
#! / bin / bash
Geben Sie die Befehle ein, die Sie ausführen möchten, und zwar jeweils in einer eigenen Zeile. Das Skript führt nacheinander jeden Befehl aus. Fügen Sie ein "#" vor einer Zeile ein, um es als "Kommentar" zu behandeln. Dies hilft Ihnen und anderen Leuten, das Skript zu verstehen, wird jedoch nicht als Befehl ausgeführt. Weitere Tricks finden Sie in einer ausführlicheren Anleitung zu Bash-Skripts unter Linux. Die gleichen Techniken funktionieren in Bash unter Ubuntu unter Windows.
Beachten Sie, dass Windows-Programme nicht in der Bash-Umgebung ausgeführt werden können. Sie sind auf Linux-Terminalbefehle und -dienstprogramme beschränkt, wie Sie es bei einem typischen Linux-System tun würden.
Nehmen wir zum Beispiel ein einfaches "Hallo Welt" -Skript als Beispiel:
#! / bin / bash # setze die STRING-Variable STRING = "Hello World!" # den Inhalt der Variablen auf dem Bildschirm ausgeben 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 durch Drücken von Strg + X.
Machen Sie das Skript ausführbar und führen Sie es aus
Wahrscheinlich möchten Sie, dass das Skript ausführbar ist, damit Sie es einfacher ausführen können. Unter Linux bedeutet dies, dass Sie der Skriptdatei die Berechtigung für die ausführbare Datei erteilen müssen. Führen Sie dazu den folgenden Befehl im Terminal aus und richten Sie ihn auf Ihr Skript:
chmod + x ~ / myscript.sh
Um das Skript auszuführen, können Sie es jetzt einfach im Terminal ausführen, indem Sie seinen Pfad eingeben. Wenn Sie das Skript in der 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 ausführen.)
So arbeiten Sie mit Windows-Dateien in einem Bash-Skript
Um auf Windows-Dateien im Skript zuzugreifen, müssen Sie ihren Pfad unter / mnt / c angeben, nicht ihren Windows-Pfad. Wenn Sie beispielsweise die Datei C: \ Users \ Bob \ Downloads \ test.txt angeben möchten, müssen Sie den Pfad /mnt/c/Users/Bob/Downloads/test.txt angeben. Weitere Informationen finden Sie in unserem Handbuch zu den Speicherorten in der Bash-Shell von Windows 10.
So integrieren Sie Bash-Befehle in ein Stapel- oder PowerShell-Skript
Wenn Sie bereits über eine Batchdatei oder ein PowerShell-Skript verfügen, in die Sie Befehle einfügen möchten, können Sie Bash-Befehle direkt mit dem Befehl ausführen bash -c
Befehl.
Um beispielsweise einen Linux-Befehl in einem Eingabeaufforderungs- oder PowerShell-Fenster auszuführen, können Sie den folgenden Befehl ausführen:
bash -c "Befehl"
Mit diesem Trick können Sie Bash-Befehle zu Batchdateien oder PowerShell-Skripts hinzufügen. Das Bash-Shell-Fenster wird angezeigt, wenn ein Bash-Befehl ausgeführt wird.
Aktualisieren: Wenn Sie mehrere Linux-Umgebungen installiert haben, können Sie mit dem Befehl wslconfig die Linux-Standardumgebung auswählen, die beim Ausführen von verwendet wird bash -c
Befehl.
Um eine Verknüpfung zu einem Bash-Skript in Windows zu erstellen, erstellen Sie einfach eine Verknüpfung wie normal. Verwenden Sie für das Ziel der Verknüpfung die bash -c
Befehl, den wir oben umrissen haben, und verweisen Sie auf das von Ihnen erstellte Bash-Skript.
Zum Beispiel würden Sie eine Verknüpfung auf " bash -c "~ / myscript.sh"
”, Um das obige Beispielskript auszuführen. Sie können diesen Befehl auch einfach über eine Eingabeaufforderung oder ein PowerShell-Fenster ausführen.