Slik kjører du Windows-programmer fra Windows 10s Bash Shell

Innholdsfortegnelse:

Slik kjører du Windows-programmer fra Windows 10s Bash Shell
Slik kjører du Windows-programmer fra Windows 10s Bash Shell

Video: Slik kjører du Windows-programmer fra Windows 10s Bash Shell

Video: Slik kjører du Windows-programmer fra Windows 10s Bash Shell
Video: How to fix google chrome download failed network error - YouTube 2024, November
Anonim
I Creators Update lar Windows 10 Bash-skallet deg nå å kjøre Windows-binærfiler og standard kommandopromptkommandoer, rett fra Bash. Du kan kjøre både Linux- og Windows-programmer fra samme Bash-skjerm, eller til og med inkorporere Windows-kommandoer i et Bash-skript.
I Creators Update lar Windows 10 Bash-skallet deg nå å kjøre Windows-binærfiler og standard kommandopromptkommandoer, rett fra Bash. Du kan kjøre både Linux- og Windows-programmer fra samme Bash-skjerm, eller til og med inkorporere Windows-kommandoer i et Bash-skript.

Hva du trenger å vite

Her er noen grunnleggende detaljer du trenger å vite om denne funksjonen:

  • Brukerkonto: Programmer som startes fra Bash-skallet, kjøres som om de ble lansert av den nåværende Windows-brukerkontoen.
  • tillatelser: Disse programmene har samme tillatelser som Bash.exe-prosessen. Så, hvis du vil at disse kommandoene skal ha administratortilgang, må du kjøre Bash-skjermet som administrator.
  • Arbeidsregister: Windows-programmer deler samme "arbeidskatalog" som Bash-skallet. Så hvis du kjører en kommando som viser innholdet i gjeldende katalog, vil det liste inn innholdet i gjeldende arbeidskatalog i Bash-skallet. Bruke

    cd

    kommandoen for å endre arbeidskataloger.

Med det i tankene, la oss ta en titt på hvordan du kjører et program.

Slik kjører du et Windows-program

For å kjøre et Windows-program, skriv inn banen til programmets.exe-fil i Bash-skallet. Husk at Windows C: -disken din er tilgjengelig på / mnt / c i Bash. Bash-miljøet er også saksensitivt, så du må spesifisere riktig kapitalisering.

La oss si at du ønsket å starte Ping-verktøyet plassert på C: Windows System32 PING.EXE. Du vil kjøre følgende kommando:

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

Følgende kommando ville ikke fungere, fordi Bash er bokstavsfølsom:

/mnt/c/windows/system32/ping.exe

Dette er litt mer komplisert hvis banen inneholder komplekse tegn som mellomrom og parentes, som programfilene. Du må "rømme" mellomrom, parenteser og andre komplekse tegn ved å prefikse dem med et "" tegn.
Dette er litt mer komplisert hvis banen inneholder komplekse tegn som mellomrom og parentes, som programfilene. Du må "rømme" mellomrom, parenteser og andre komplekse tegn ved å prefikse dem med et "" tegn.

For eksempel, la oss si at du ønsket å kjøre Internet Explorer-programmet som ligger på C: Program Files (x86) Internet Explorer iexplore.exe. Du må kjøre følgende kommando i Bash:

/mnt/c/Program Files (x86)/Internet Explorer/iexplore.exe

Merk "" før mellomrom og brakettegnene. Disse tegnene må være "rømt" eller Bash vil ikke innse at tegnene er en del av en filsti.

Image
Image

Slik sender du et argument til en kommando

Bash-skallet sender argumenter direkte til kommandoene du utfører.

Hvis du for eksempel vil ping example.com, vil du kjøre:

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

Eller hvis du vil åpne Windows-vertsfilen i Notisblokk, kjører du:

/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'

Du bruker standard Windows-filbanen når du sender en filbane direkte til et Windows-program. Det er fordi Bash passerer argumentet direkte. Notepad.exe og andre Windows-programmer forventer en Windows-filbane.

Image
Image

Slik kjører du en innebygd kommando

Noen Windows-kommandoer er ikke.exe-filer, men er innebygd i selve kommandopromptet. Dette inkluderer for eksempel

dir

kommandoen du kan normalt kjøre i en kommandoprompt. For å kjøre en slik kommando må du kjøre

cmd.exe

binær forbundet med kommandoprompt og send det kommandoen som et argument med / C, slik som:

/mnt/c/Windows/System32/cmd.exe /C command

For eksempel å kjøre

dir

kommando innebygd i kommandoprompt, vil du kjøre følgende kommando:

/mnt/c/Windows/System32/cmd.exe /C dir

Image
Image

Slik legger du til kataloger på banen

Windows Services for Linux-miljøet behandler Windows-kjørbare ligner måten det behandler Linux-binarier på. Dette betyr at du kan legge til en katalog som inneholder.exe-filer til banen og deretter utføre disse.exe-filene direkte. Hvis du for eksempel vil legge til System32-katalogen på banen, vil du kjøre:

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

Du kan deretter kjøre Windows.exe-filer som ligger i System32-mappen direkte, slik som:

PING.exe example.com

notepad.exe

cmd.exe /C dir

Image
Image

Slik røres utgangen av en kommando til en annen

Utgangen av en Windows-kommando kan ledes til en Linux-kommando, og omvendt. For eksempel kan du bruke

ipconfig.exe -all

kommandoen for å liste detaljer om nettverksgrensesnittene og rør det til Linux

grep

kommando for å søke utdataene. Hvis du for eksempel vil vise all informasjon om tilkoblingen din og søke etter deler som samsvarer med "IPv4-adresse", kjører du:

/mnt/c/Windows/System32/ipconfig.exe -all | grep 'IPv4 Address'

Det er den grunnleggende prosessen. Disse kommandoene vil også fungere når de er innarbeidet i et Bash-skript, slik at du kan skrive et Bash-skript som inneholder både Windows-kommandoer og Linux-verktøy. Hvis det kjører i Bash-skallet, vil det fungere i et Bash-skript.
Det er den grunnleggende prosessen. Disse kommandoene vil også fungere når de er innarbeidet i et Bash-skript, slik at du kan skrive et Bash-skript som inneholder både Windows-kommandoer og Linux-verktøy. Hvis det kjører i Bash-skallet, vil det fungere i et Bash-skript.

Og hvis du vil gå den andre veien, kan du bruke kommandoen "bash-c" til å kjøre Bash-kommandoer fra standard Windows Command Prompt.

Anbefalt: