11Sep
Creators-päivityksessä Windows 10: n Bash-kuori mahdollistaa nyt Windowsin binäärit ja tavalliset komentokehotteen komennot Bashista lähtien. Voit käyttää sekä Linux- että Windows-ohjelmia samasta Bash-kuoresta tai jopa sisällyttää Windows-komennot Bash-komentosarjoihin.
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äynnistyisivät nykyisessä Windows-käyttäjätilissä.
- -käyttöoikeudet : Näillä ohjelmilla on samat oikeudet kuin Bash.exe-prosessi. Joten, jos haluat, että näillä komennoilla on järjestelmänvalvojan pääsy, 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-komentoa muokkaamaan 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 saatavilla /mnt/ c: ssä Bashissa. 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.EXESeuraava komento ei toimi, koska Bash on isokokoinen:
/mnt/c/windows/system32/ ping.exeTämä on hieman monimutkaisempi, jos polku sisältää monimutkaisia merkkejä, kuten välilyöntejä ja sulkeja,kuten ohjelmatiedostot. Sinun täytyy "paeta" välilyöntejä, sulkeja ja muita monimutkaisia merkkejä etuliitteellä "\" -merkillä.
Esimerkiksi sanokaamme, 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/ Ohjelma \ Tiedostot \ \( x86 \) / Internet \ Explorer / iexplore.exeHuomaa "\" ennen välilyönti- ja kannattimen merkkejä.Nämä merkit on "poistettava" tai Bash ei ymmärrä, että merkit ovat osa tiedostopolkua.
Argumentin siirtäminen komentoon
Bash-kuori siirtää argumentteja suoraan suorittamiin komentoihin.
Esimerkiksi, jos haluat ping example.com, voit suorittaa:
/mnt/c/Windows/System32/ PING.EXE example.comTai jos haluat avata Windowsin isäntätiedostoa Notepadissa, suoritat:
/mnt/c/Windows/System32/ notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ isännät "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.
Sisäänrakennetun komennon suorittaminen
Jotkin Windows-komennot eivät ole. exe-tiedostoja vaan ne on rakennettu itse Command Promptiin. Tämä sisältää esimerkiksi dir-komennon, jota normaalisti voi käyttää komentokehotteessa. Tällaisen komennon suorittamiseksi sinun on suoritettava komentokehotteeseen liittyvä cmd.exe-binääri ja annettava komento argumentiksi / C: n kanssa, kuten:
/mnt/c/Windows/System32/ cmd.exe / C -komentoEsimerkiksi suorittamaan dirCommand Promptin sisäänrakennettu komento, suorita seuraava komento:
/mnt/c/Windows/System32/ cmd.exe / C dirHakemistojen lisääminen polkuun
Windows Services for Linux -ympäristö kohtelee Windows-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 polkuun, voit suorittaa:
-vienti PATH = $ PATH: /mnt/c/Windows/ System32Voit sitten suorittaa Windows. exe-tiedostoja, jotka sijaitsevat System32-kansiossa suoraan, esimerkiksi:
PING.exe-esimerkki.com notepad.exe cmd.exe / C dirYhden komennon lähdön putoaminen toiselle
Windows-komennon tuotos voidaan syöttää Linux-komentoon ja päinvastoin. Voit esimerkiksi käyttää ipconfig.exe -kom-komentoa listalla verkkoyhteyksiesi yksityiskohtia ja lähettämällä se Linux grep -komennolle etsimään lähtöä.Jos haluat esimerkiksi luetella kaikki yhteyden tiedot ja etsiä IPv4-osoitteita vastaavia osioita, voit suorittaa:
/mnt/c/Windows/System32/ ipconfig.exe -all |grep "IPv4-osoite"Se on perusprosessi. Nämä komennot toimivat myös, kun ne sisällytetään Bash-komentojonoon, joten voit kirjoittaa Bash-komentosarjan, joka sisältää sekä Windows-komennot että Linux-apuohjelmat. Jos se toimii Bash-kuoressa, se toimii Bash-komentosarjassa.
Ja jos haluat mennä toisella tavalla, voit käyttää bash -c -komentoa suorittamaan Bash-komentoja tavallisesta Windowsin komentokehotteesta.