Mitä sinun tarvitsee tietää
Seuraavassa on joitain perustietoja, jotka sinun on tiedettävä tästä ominaisuudesta:
- Käyttäjätili: Bash-shellista käynnistetyt ohjelmat toimivat ikään kuin ne käynnistyivät nykyisessä Windows-käyttäjätilissä.
- käyttöoikeudet: Näillä ohjelmilla on samat käyttöoikeudet kuin Bash.exe-prosessi. Joten, jos haluat, että näillä komennoilla on järjestelmänvalvojan käyttöoikeus, sinun on suoritettava Bash-kuori järjestelmänvalvojana.
-
Työhakemisto: Windows-ohjelmat jakavat saman "työhakemiston" kuin Bash-kuori. Joten, jos suoritat komennon, jossa luetellaan nykyisen hakemiston sisältö, se luettaa nykyisen työhakemiston sisällön Bash-kuviossa. Käytä
cd
komento muuttaa työhakemistoja.
Tässä mielessä katsotaanpa, miten ohjelma toimii.
Windows-ohjelman suorittaminen
Jotta voit suorittaa Windows-ohjelman, kirjoita ohjelman ohjelman.exe-tiedoston polku Bash-kuoriin. Muista, että Windows C: -asema on käytettävissä / mnt / c kohdassa Bash. Bash-ympäristössä on myös pienet ja isot kirjaimet, joten sinun on määritettävä oikea aktivointi.
Oletetaan, että halusit käynnistää C: Windows System32 PING.EXE -ohjelman Ping-apuohjelman. Sinun olisi suoritettava seuraava komento:
/mnt/c/Windows/System32/PING.EXE
Seuraava komento ei toimi, koska Bash merkitsee isoa ja pienikokoista kirjainta.
/mnt/c/windows/system32/ping.exe
Oletetaan esimerkiksi, että haluat käyttää Internet Explorer -ohjelmaa, joka sijaitsee osoitteessa C: Program Files (x86) Internet Explorer iexplore.exe. Sinun on suoritettava seuraava komento Bashissa:
/mnt/c/Program Files (x86)/Internet Explorer/iexplore.exe
Huomaa "" ennen välilyöntiä ja pidikkeitä. Nämä merkit on "poistettava" tai Bash ei ymmärrä, että merkit ovat osa tiedostopolkua.
Miten annat argumentin komennolle
Bash-kuori läpäisee argumentit suoraan suorittamiin komentoihin.
Jos esimerkiksi haluat ping example.com, sinun olisi suoritettava:
/mnt/c/Windows/System32/PING.EXE example.com
Tai jos haluat avata Windowsin isäntätiedoston Notepadissa, suoritat sen seuraavasti:
/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'
Käytät tavallista Windows-tiedostoista, kun ohjataan tiedostopolku suoraan Windows-ohjelmaan. Tämä johtuu siitä, että Bash ohittaa väitteen suoraan. Notepad.exe ja muut Windows-ohjelmat odottavat Windows-tiedostopolun.
Suorita sisäänrakennettu komento
Jotkin Windows-komennot eivät ole.exe-tiedostoja vaan ne on rakennettu itse komentokehotteeseen. Tämä sisältää esimerkiksi
dir
komennon, jota normaalisti voi käyttää komentokehotteessa. Tällaisen komennon suorittamiseksi sinun on suoritettava
cmd.exe
komentoriviin liittyvä binääri ja siirtää komento argumentiksi / C, kuten:
/mnt/c/Windows/System32/cmd.exe /C command
Esim
dir
Command Promptin sisäänrakennettu komento, suoritat seuraavan komennon:
/mnt/c/Windows/System32/cmd.exe /C dir
Hakemistojen lisääminen polkuun
Windows Services for Linux -ympäristö kohtelee Windowsin suoritustiedostoja samankaltaisesti kuin se käsittelee Linux-binäärejä. Tämä tarkoittaa, että voit lisätä hakemiston, joka sisältää.exe-tiedostot polkuun ja suorita sitten nämä.exe-tiedostot suoraan. Jos haluat esimerkiksi lisätä System32-hakemiston poluksi, voit suorittaa:
export PATH=$PATH:/mnt/c/Windows/System32
Tämän jälkeen voit suorittaa Windows.exe-tiedostoja, jotka sijaitsevat System32-kansiossa, kuten:
PING.exe example.com
notepad.exe
cmd.exe /C dir
Kuinka tuottaa yhden komennon tuotos toiselle
Windows-komennon tuotos voidaan syöttää Linux-komentoon ja päinvastoin. Voit käyttää esimerkiksi
ipconfig.exe -all
komennon, jossa luetellaan verkkoyhteyksiesi tiedot ja lähetetään se Linuxiin
grep
komento etsiä tuottoa. Jos haluat esimerkiksi luetella kaikki yhteyden tiedot ja etsiä IPv4-osoitteita vastaavia osioita, voit suorittaa:
/mnt/c/Windows/System32/ipconfig.exe -all | grep 'IPv4 Address'
Ja jos haluat mennä toisella tavalla, voit käyttää "bash-c" -komentoa suorittamaan Bash-komentoja tavallisesta Windowsin komentokehotteesta.