1

Ich versuche, das Windows 10 Linux-Subsystem von der Post-Build-Befehlszeile von Visual Studio 2015 auszuführen. Das heißt, ich habe einen Befehl, dessen Ausgabe an bash weitergeleitet wird, zum Beispiel xyz | bash. bash sollte seinerseits das Windows 10 Linux-Subsystem starten und den Befehl ausführen.Ausführen des Linux-Subsystems von der Post-Build-Befehlszeile von Visual Studio

Dies funktioniert perfekt, wenn Sie den Befehl von den regulären CMD.exe Command Line oder .bat Dateien ausführen. Wenn dies jedoch aus dem Visual Studio 2015 post-, Pre-Build- oder Pre-link-Ereignis Command Line direkt über einen call cmd /CAnruf läuft oder eine externe .bat Datei als Proxy, schlägt dies mit dem Fehlercode 255 und druckt so etwas wie "Command 'bash' nicht gefunden.". Beim Versuch, den vollständigen Pfad zum bash.exe zu verwenden, scheitert dies ebenfalls.

Wie kann ich bash von Visual Studio Command Line ausführen?

Hinweis: Ich versuche, dies auf einem C/C++ - Projekt auszuführen.

+0

Sind Sie sich der Tatsache bewusst, dass Sie Antworten auf Stack-Überlauf _accept_ können? – m93a

+1

@ m93a Oh, tut mir leid, ich habe diese Frage vergessen, da das Lösen dieses Problems nur ein anderes Problem verursacht hat ... – HerpDerpington

+0

Welches Problem? Wenn es Bash-bezogen ist, könnte ich vielleicht helfen. – m93a

Antwort

2

Ich konfrontiert dieses Problem auch bei Verwendung von bash von meiner 32-Bit-C++ - Anwendung.

Die Sache ist die, dass bash ist nur 64-Bit - wenn Sie versuchen, es von einer app 32-Bit zu verwenden, Ihr Anruf C:\Windows\System32\bash.exe-C:\Windows\SysWOW64\bash.exe umgeleitet wird, die nicht existiert.

Um die Umleitung zu umgehen, müssen Sie C:\Windows\Sysnative\bash.exe beim Aufruf von Bash aus einer 32-Bit-App verwenden. Ich machte tatsächlich einen Stapel (.bat) Proxy, den ich der PATH hinzugefügt habe, um die Dinge einfacher zu machen.

bash.bat:

@echo off 

if exist "C:\Windows\Sysnative\bash.exe" (
    C:\Windows\Sysnative\bash.exe %* 
) else (
    C:\Windows\System32\bash.exe %* 
) 
0

Ich glaube, dieser Beitrag beantwortet Ihre Frage Ich verstehe Ihre Frage nicht ganz, aber ich benutze Bash durch visuellen Code die ganze Zeit und das ist, was ich folgte, um es zu tun. Bash on Windows from Visual Studio Code

Verwandte Themen