Kotisivu » miten » Windows-ohjelmien suorittaminen Windows 10 n Bash Shellistä

    Windows-ohjelmien suorittaminen Windows 10 n Bash Shellistä

    Luojat-päivityksessä Windows 10: n Bash-kuori sallii nyt suorittaa Windows-binäärit ja tavalliset komentokehote-komentot suoraan Bashiltä. Voit käyttää sekä Linux- että Windows-ohjelmia samasta Bash-kuoresta tai jopa sisällyttää Windowsin komentoja Bash-skriptiin.

    Mitä sinun tarvitsee tietää

    Seuraavassa on joitakin perustietoja, jotka sinun täytyy tietää tästä ominaisuudesta:

    • Käyttäjätili: Bash-kuoresta käynnistetyt ohjelmat toimivat kuten ne, jotka nykyinen Windows-käyttäjätili käynnisti.
    • käyttöoikeudet: Näillä ohjelmilla on samat oikeudet kuin Bash.exe-prosessissa. Jos haluat, että näillä komennoilla on pääkäyttäjän pääsy, sinun on suoritettava Bash-kuori järjestelmänvalvojana.
    • Työhakemisto: Windows-ohjelmilla on sama ”työhakemisto” kuin Bash-kuori. Jos siis suoritat komennon, jossa luetellaan nykyisen hakemiston sisältö, se näyttää Bash-kuoren nykyisen työhakemiston sisällön. Käytä CD komento muuttaa hakemistoja.

    Tätä silmällä pitäen katsotaanpa, miten ohjelma voidaan suorittaa.

    Windows-ohjelman suorittaminen

    Voit suorittaa Windows-ohjelman kirjoittamalla ohjelman .exe-tiedoston polun Bash-kuoressa. Muista, että Windows C: -asema on käytettävissä osoitteessa / mnt / c Bash. Bash-ympäristö on myös tapauskohtainen, joten sinun on määritettävä oikea päällys.

    Oletetaan, että haluat käynnistää Ping-apuohjelman, joka sijaitsee osoitteessa C: Windows System32 PING.EXE. Käyttäisit seuraavan komennon:

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

    Seuraava komento ei toimi, koska Bash on tapauskohtainen:

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

    Tämä on hieman monimutkaisempi, jos polku sisältää monimutkaisia ​​merkkejä, kuten välilyöntejä ja sulkeja, kuten ohjelmatiedostojen kansioita. Sinun täytyy "paeta" välilyöntejä, sulkeja ja muita monimutkaisia ​​merkkejä etukäteen ne "merkillä".

    Oletetaan esimerkiksi, että haluat käyttää Internet Explorer -ohjelmaa, joka sijaitsee osoitteessa C: Tiedostot (x86) Internet Explorer iexplore.exe. Sinun on suoritettava seuraava komento Bashissa:

    / mnt / c / Ohjelmatiedostot (x86) / Internet Explorer / iexplore.exe

    Huomaa “” ennen välilyönnin ja haarukan merkkejä. Näiden merkkien on oltava "pakenneet" tai Bash ei ymmärrä, että merkit ovat osa tiedoston polkua.

    Miten siirtää väite komentoon

    Bash-kuori siirtää argumentit suoraan suoritettuihin komentoihin.

    Jos haluat esimerkiksi ping-esimerkin.com, käytät:

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

    Tai jos haluat avata Windows-isäntätiedoston Notepadissa, käytät:

    /mnt/c/Windows/System32/notepad.exe "C: Windows System32 -ohjaimet jne.

    Käytät tavallista Windows-tiedoston polkua, kun siirrät tiedoston polun suoraan Windows-ohjelmaan. Tämä johtuu siitä, että Bash siirtää argumentin suoraan. Notepad.exe ja muut Windows-ohjelmat odottavat Windows-tiedoston polkua.

    Sisäänrakennetun komennon suorittaminen

    Jotkin Windows-komennot eivät ole .exe-tiedostoja, vaan ne on sisällytetty itse komentokehotteeseen. Tämä sisältää esimerkiksi dir komento, jota voit yleensä käyttää komentokehotteessa. Voit suorittaa tällaisen komennon suorittamalla cmd.exe binääri, joka liittyy komentokehotteeseen, ja välittää sen komennoksi argumenttina / C: llä, kuten:

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

    Esimerkiksi, jos haluat suorittaa dir komentokehotteeseen liitetty komento, voit suorittaa seuraavan komennon:

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

    Kuinka lisätä hakemistoja polulle

    Windows Services for Linux -ympäristössä käsitellään Windows-suoritettavia tiedostoja, jotka vastaavat Linux-binäärejä. Tämä tarkoittaa, että voit lisätä .exe-tiedostoja sisältävän hakemiston polulle ja suorittaa ne .exe-tiedostot suoraan. Jos haluat esimerkiksi lisätä System32-hakemiston polulle, suoritat:

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

    Sitten voit käyttää Windows32-tiedostoja, jotka sijaitsevat System32-kansiossa, kuten näin:

    PING.exe esimerkki.fi
    notepad.exe
    cmd.exe / C dir

    Miten yhden komennon ulostulo putket toiseen

    Windows-komennon lähtö voidaan siirtää Linux-komentoon ja päinvastoin. Voit esimerkiksi käyttää ipconfig.exe - kaikki komento, jossa luetellaan tiedot verkkoliitännöistäsi ja putkesta Linuxiin grep komennolla etsiä tuotos. Voit esimerkiksi näyttää kaikki yhteystietosi koskevat tiedot ja etsiä osia, jotka vastaavat “IPv4-osoite”,

    /mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4-osoite"

    Se on perusprosessi. Nämä komennot toimivat myös silloin, kun ne on liitetty Bash-skriptiin, joten voit kirjoittaa Bash-komentosarjan, joka sisältää sekä Windows-komennot että Linux-apuohjelmat. Jos se toimii Bash-kuoressa, se toimii Bash-skriptissä.

    Ja jos haluat mennä toiseen suuntaan, voit käyttää bash -c-komentoa Bash-komentojen suorittamiseen Windows-komentoriviltä.