Czy istnieje sposób uruchomienia polecenia Bash z CMD?


Odpowiedzi:


1

Chcę uruchomić polecenie w CMD, aby działało w Bash.

Użyj wsl.exe:

Uruchom narzędzia Linux z wiersza polecenia systemu Windows

Uruchom pliki binarne systemu Linux z wiersza polecenia systemu Windows ( CMDlub PowerShell) przy użyciu wsl.exe <command>.

Pliki binarne wywoływane w ten sposób:

  • Użyj tego samego katalogu roboczego, co bieżący CMDlub PowerShellmonit.
  • Uruchom jako domyślny użytkownik WSL.
  • Mają takie same uprawnienia administracyjne w systemie Windows jak proces wywoływania i terminal.

Na przykład:

C:\temp> wsl ls -la
<- contents of C:\temp ->

Poniższe polecenia systemu Linux wsl.exesą obsługiwane jak każde polecenie uruchamiane w WSL. Takie rzeczy jak sudo, piping i przekierowywanie plików działają.

Uwaga:

Jeśli korzystasz z aktualizacji Creators Update lub Anniversary Update, przejdź do sekcji Creators / Anniversary Update .

Źródło interoperacyjności Windows z Linuksem | Dokumenty Microsoft


Ale cdnadal nie będzie działać, ponieważ zmienia tylko katalog roboczy bieżącego procesu.
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams „Polecenia przekazane do wsl.exe są przekazywane do procesu WSL bez modyfikacji.”
DavidPostill

@ IgnacioVazquez-Abrams "bash.exe został uznany za przestarzały i zastąpiony przez wsl.exe."
DavidPostill

@ IgnacioVazquez-Abrams Możesz przekazać skrypt powłoki zawierający cd i inne polecenia ...
DavidPostill

Jasne, właśnie wskazywałam, że przykład użyty przez pytającego nie zadziała.
Ignacio Vazquez-Abrams
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.