30Jun

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

click fraud protection

Mit der Bash-Shell von Windows 10 können Sie jetzt Bash-Shell-Skripte unter Windows 10 erstellen und ausführen. Sie können Bash-Befehle auch in eine Windows-Stapeldatei 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 und auf das Windows-Dateisystem kann an einer anderen Position in der Bash-Umgebung zugegriffen werden.

Schreiben eines Bash-Skripts unter Windows 10

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

Mit anderen Worten bedeutet dies, dass Sie nicht einfach ein Shell-Skript in Notepad schreiben können. Speichern Sie die Datei in Editor und es wird von Bash nicht ordnungsgemäß interpretiert. Sie können jedoch auch erweiterte Text-Editoren verwenden. Mit Notepad ++ können Sie beispielsweise UNIX-Zeilenendezeichen angeben, indem Sie auf Bearbeiten & gt;EOL-Konvertierung & gt;UNIX / OSX-Format.

instagram viewer

Es ist jedoch besser, wenn Sie das Shell-Skript einfach in der Bash-Umgebung selbst schreiben. Die Ubuntu-basierte Bash-Umgebung enthält sowohl die vi als auch die nano-Texteditoren. Der vi-Editor ist leistungsfähiger, aber wenn Sie ihn noch nie zuvor verwendet haben, sollten Sie 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 ~ / meinscript.sh

Dies würde den Nano-Texteditor öffnen, der auf eine Datei namens "meinskript.sh" in Ihrem Benutzer zeigtHeimatverzeichnis des Kontos.(Das Zeichen "~" steht für Ihr Home-Verzeichnis. Der vollständige Pfad lautet also /home/username/ myscript.sh.)

Starten Sie Ihr Shell-Skript mit der Zeile:

#!/bin/ bash

Geben Sie die Befehle, die Sie ausführen möchten, jeweils in einer eigenen Zeile ein. Das Skript führt nacheinander alle Befehle aus. Fügen Sie vor einer Zeile ein "#" -Zeichen ein, um es als "Kommentar" zu behandeln, etwas, das Ihnen und anderen Leuten hilft, das Skript zu verstehen, das aber nicht als Befehl ausgeführt wird. Für komplexere Tricks konsultieren Sie eine detailliertere Anleitung zu Bash-Skripten 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 wie bei einem typischen Linux-System auf Befehle und Dienstprogramme für Linux-Terminals beschränkt.

Zum Beispiel verwenden wir hier einfach 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 Enter drücken. Schließen Sie den Editor, indem Sie Strg + X drücken.

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

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

chmod + x ~ / meinskript.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 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, "Ich muss 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 test.txt für /mnt/c/Users/Bob/Downloads/ angeben. Weitere Informationen finden Sie in der Anleitung zur Dateiposition in der Bash-Shell von Windows 10.

Einbinden von Bash-Befehlen in ein Batch- oder PowerShell-Skript

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

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

bash -c "Befehl"

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

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

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