de.phhsnews.com


de.phhsnews.com / So führen Sie Windows-Programme aus der Bash Shell von Windows 10 aus

So führen Sie Windows-Programme aus der Bash Shell von Windows 10 aus


Im Creators Update können Sie in der Bash-Shell von Windows 10 jetzt Windows-Binärdateien und Standardbefehlsbefehle direkt von Bash aus ausführen. Sie können sowohl Linux- als auch Windows-Programme von derselben Bash-Shell ausführen oder sogar Windows-Befehle in ein Bash-Skript einbinden.

Was Sie wissen müssen

VERWANDT: Alles, was Sie mit der neuen Bash-Shell von Windows 10 tun können

Hier sind einige grundlegende Details, die Sie über diese Funktion wissen müssen:

  • Benutzerkonto : Programme, die von der Bash-Shell gestartet werden, werden so ausgeführt, als wären sie vom aktuellen Windows-Benutzerkonto gestartet worden.
  • Berechtigungen : Diese Programme haben die gleichen Berechtigungen wie der Prozess Bash.exe. Wenn diese Befehle Administratorzugriff haben sollen, müssen Sie die Bash-Shell als Administrator ausführen.
  • Arbeitsverzeichnis : Windows-Programme verwenden dasselbe "Arbeitsverzeichnis" wie die Bash-Shell. Wenn Sie also einen Befehl ausführen, der den Inhalt des aktuellen Verzeichnisses auflistet, listet es den Inhalt des aktuellen Arbeitsverzeichnisses in der Bash-Shell auf. Verwenden Sie den Befehlcd, um Arbeitsverzeichnisse zu ändern.

Sehen wir uns nun an, wie man ein Programm ausführt.

So führen Sie ein Windows-Programm aus

VERWANDT: So greifen Sie auf Ihre Ubuntu Bash-Dateien in Windows (und auf Ihrem Windows-Systemlaufwerk in Bash) zu

Um ein Windows-Programm auszuführen, geben Sie den Pfad zur .exe-Datei des Programms in der Bash-Shell ein. Denken Sie daran, dass Ihr Windows C: Laufwerk unter / mnt / c in Bash verfügbar ist. In der Bash-Umgebung wird ebenfalls die Groß- / Kleinschreibung beachtet, daher müssen Sie die korrekte Groß- / Kleinschreibung angeben.

Angenommen, Sie möchten das Ping-Dienstprogramm unter C: Windows System32 PING.EXE starten. Sie würden den folgenden Befehl ausführen:

/mnt/c/Windows/System32/PING.EXE

Der folgende Befehl würde nicht funktionieren, da Bash Groß-und Kleinschreibung unterscheidet:

/ mnt / c / Windows /system32/ping.exe

Dies ist etwas komplizierter, wenn der Pfad komplexe Zeichen wie Leerzeichen und Klammern enthält, wie die Programme-Ordner. Sie müssen Leerzeichen, Klammern und andere komplexe Zeichen durch Voranstellen eines "" - Zeichens "flüchten".

Angenommen, Sie möchten das Internet Explorer-Programm unter C: Programme (x86) ausführen. Internet Explorer iexplore.exe. Sie müssten den folgenden Befehl in Bash ausführen:

/ mnt / c / Programme   (x86 ) / Internet  Explorer / iexplore.exe

Beachten Sie das "" vor dem Leerzeichen und der Klammer Figuren. Diese Zeichen müssen "maskiert" sein oder Bash erkennt nicht, dass die Zeichen Teil eines Dateipfads sind.

Wie man ein Argument an einen Befehl weitergibt

Die Bash-Shell übergibt Argumente direkt an die von Ihnen ausgeführten Befehle > Wenn Sie beispielsweise example.com pingen wollten, würden Sie Folgendes ausführen:

/mnt/c/Windows/System32/PING.EXE example.com

Oder, wenn Sie die Windows-Hosts-Datei öffnen wollten In Notepad würden Sie Folgendes ausführen:

/mnt/c/Windows/System32/notepad.exe "C: Windows System32 drivers etc hosts"

Sie verwenden den standardmäßigen Windows-Dateipfad, wenn Sie a übergeben Dateipfad direkt zu einem Windows-Programm. Das liegt daran, dass Bash das Argument direkt weitergibt. Notepad.exe und andere Windows-Programme erwarten einen Windows-Dateipfad.

So führen Sie einen integrierten Befehl aus

Einige Windows-Befehle sind keine .exe-Dateien, sondern sind in die Eingabeaufforderung integriert. Dazu gehört beispielsweise der Befehl

dir, den Sie normalerweise in einer Eingabeaufforderung ausführen. Um einen solchen Befehl auszuführen, müssen Sie die Binärdateicmd.exeausführen, die der Eingabeaufforderung zugeordnet ist, und den Befehl als Argument mit / C übergeben, etwa so:/ mnt / c / Windows /System32/cmd.exe / C-Befehl

Um beispielsweise den Befehl

dirauszuführen, der in die Eingabeaufforderung integriert ist, führen Sie den folgenden Befehl aus:/ mnt / c / Windows / System32 / cmd.exe / C dir

Hinzufügen von Verzeichnissen zum Pfad

Die Windows Services für Linux-Umgebung behandelt ausführbare Windows-Dateien ähnlich wie Linux-Binärdateien. Dies bedeutet, dass Sie dem Pfad ein Verzeichnis hinzufügen können, das EXE-Dateien enthält, und diese EXE-Dateien dann direkt ausführen. Um beispielsweise das Verzeichnis System32 zu Ihrem Pfad hinzuzufügen, führen Sie Folgendes aus:

export PATH = $ PATH: / mnt / c / Windows / System32

Sie könnten dann Windows .exe-Dateien direkt im System32-Ordner ausführen:

PING.exe example.com

notepad.exe
cmd.exe / C dir
So leiten Sie die Ausgabe eines Befehls an einen anderen

Die Ausgabe eines Windows-Befehls kann an einen Linux-Befehl übergeben werden und umgekehrt. Beispielsweise können Sie den Befehl

ipconfig.exe -allverwenden, um Details zu Ihren Netzwerkschnittstellen aufzulisten und sie an den Befehl Linuxgrepzu leiten, um die Ausgabe zu durchsuchen. Um beispielsweise alle Informationen zu Ihrer Verbindung aufzulisten und nach Abschnitten zu suchen, die mit "IPv4-Adresse" übereinstimmen, führen Sie Folgendes aus:/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4-Adresse"

Das ist der grundlegende Prozess. Diese Befehle funktionieren auch, wenn sie in ein Bash-Skript integriert sind. Sie können also ein Bash-Skript schreiben, das sowohl Windows-Befehle als auch Linux-Dienstprogramme enthält. Wenn es in der Bash-Shell ausgeführt wird, funktioniert es in einem Bash-Skript.

Und wenn Sie in die andere Richtung gehen möchten, können Sie den Befehl "bash -c" verwenden, um Bash-Befehle über die Standard-Windows-Eingabeaufforderung auszuführen .


So speichern Sie Reste Über den richtigen Weg

So speichern Sie Reste Über den richtigen Weg

Malen ist eine dieser Baumaßnahmen, die wir alle mindestens einmal durchgeführt haben und die relativ einfach ist, wenn Sie die überschüssige Farbe speichern kann später etwas von einer schönen Kunst werden. Mit anderen Worten, es gibt eine große Chance, dass Sie Farbe nicht richtig speichern, und da übrig gebliebene Farbe so häufig ist, haben Sie wahrscheinlich eine Menge davon.

(how-top)

So sichern Sie Ihren Mac und stellen Dateien mit Time Machine wieder her

So sichern Sie Ihren Mac und stellen Dateien mit Time Machine wieder her

Regelmäßige Backups sind unerlässlich. Wenn deine Festplatte stirbt - und es wird schließlich sterben - ist es wichtig zu wissen, dass du irgendwo eine weitere Kopie von allem hast. PC-Benutzer können den Windows-Dateiverlauf verwenden, um ihre Daten zu sichern, aber Mac-Benutzer haben etwas, das wohl einfacher und leistungsfähiger ist: Time Machine.

(how-top)