no.phhsnews.com


no.phhsnews.com / Slik kjører du Windows-programmer fra Windows 10's Bash Shell

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


I opprørereoppdateringen kan Windows 10s Bash-skjerm nå kjøre Windows-binærprogrammer 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

RELATED: Alt du kan gjøre med Windows 10s nye Bash Shell

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. Bruk kommandoencdfor å endre arbeidskataloger.

Med det for øye, la oss se på hvordan du kjører et program.

Slik kjører du et Windows-program

RELATED: Slik får du tilgang til Ubuntu Bash-filene i Windows (og Windows System Drive i Bash)

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å bokstavsfølsomt, så du må spesifisere riktig kapitalisering.

La oss si at du ønsket å starte Ping-verktøyet 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å "unnslippe" mellomrom, parenteser og andre komplekse tegn ved å prefikse dem med et "" tegn.

La oss for eksempel si at du ville kjøre Internet Explorer-programmet i 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 plass og brakett tegn. Disse tegnene må være "rømt", eller Bash vil ikke innse at tegnene er en del av en filbane.

Slik sender du et argument til en kommando

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

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

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

Eller hvis du ønsket å åpne Windows hosts-filen i Notisblokk, ville du kjøre:

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

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

Slik kjører du en innebygd kommando

Noen Windows-kommandoer er ikke .exe-filer, men er innebygd i selve kommandopromptet. Dette inkluderer for eksempel kommandoendir, du kan normalt kjøre i en kommandoprompt. For å kjøre en slik kommando må du kjørecmd.exebinært knyttet til kommandoprompt og sende det kommandoen som et argument med / C, slik som:

/ mnt / c / Windows /System32/cmd.exe / C-kommandoen

Hvis du for eksempel vil kjøre kommandoendirinnebygd i kommandoprompt, kjører du følgende kommando:

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

Slik legger du til kataloger på banen

I Windows Services for Linux-miljøet behandles Windows-kjørbare som ligner på hvordan det behandler Linux-binarier. 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 til banen, vil du kjøre:

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

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

PING.exe example.com
notepad.exe
cmd.exe / C dir

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 kommandoenipconfig.exe -allfor å liste detaljer om nettverksgrensesnittene og rør det til Linuxgrep-kommandoen for å søke utdataene. For eksempel, for å liste all informasjon om tilkoblingen din og søke etter deler som samsvarer med "IPv4-adresse", vil du kjøre:

/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.

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


Slik deaktiverer du OneDrive og fjerner den fra Filutforsker på Windows 10

Slik deaktiverer du OneDrive og fjerner den fra Filutforsker på Windows 10

Windows 10 inneholder OneDrive, men hvis du ikke vil se den, er det flere måter å deaktivere OneDrive på, og fjerne den fra File Explorer på Windows 10. Hjemmebrukere: Avinstaller OneDrive Normalt RELATERT: Hva er nytt i Windows 10 Creators Update Startet i Windows 10 Creators Update, kan du nå enkelt avinstallere OneDrive som du ville ethvert annet skrivebordsprogram.

(how-top)

Slik lukker du en applikasjons åpne Windows-engang i MacOS

Slik lukker du en applikasjons åpne Windows-engang i MacOS

Hvis Mac-skrivebordet ditt er rotete med flere åpne vinduer, trenger du en fin måte å lukke dem alle raskt uten å klikke på hver rød x knapp en etter en. La oss kort gjennomgå dine forskjellige alternativer. Dessverre er det ingen snarvei som lukker alle åpne vinduer samtidig, men du kan lukker alle åpne vinduer på en gitt app samtidig, gjør det raskt på det rotete skrivebordet ditt.

(how-top)