Pagrindinis » kaip » Kaip paleisti „Windows“ programas iš „Windows 10“ „Bash Shell“

    Kaip paleisti „Windows“ programas iš „Windows 10“ „Bash Shell“

    „Creators Update“ sistemoje „Windows 10“ „Bash“ apvalkalas dabar leidžia paleisti „Windows“ dvejetainius ir įprastas komandų eilutės komandas tiesiai iš „Bash“. Galite paleisti tiek „Linux“, tiek „Windows“ programas iš to paties „Bash“ korpuso arba net į „Windows“ komandas įtraukti į „Bash“ scenarijų.

    Ką tu turi žinoti

    Štai keli pagrindiniai duomenys, kuriuos reikia žinoti apie šią funkciją:

    • Vartotojo paskyra: Programos, paleistos iš „Bash“ korpuso, bus rodomos taip, tarsi jos būtų paleistos pagal dabartinę „Windows“ naudotojo paskyrą.
    • Leidimai: Šios programos turės tokias pačias teises kaip ir Bash.exe procesas. Taigi, jei norite, kad šios komandos gautų administratoriaus prieigą, turėsite paleisti „Bash“ apvalkalą kaip administratorių.
    • Darbo katalogas: „Windows“ programos turi tą patį „darbo katalogą“ kaip „Bash“ apvalkalą. Taigi, jei paleidžiate komandą, kurioje išvardijami dabartinio katalogo turinys, jis parodys dabartinio darbo katalogo turinį „Bash“ korpuse. Naudoti cd komandą pakeisti darbo katalogus.

    Turint tai omenyje, pažiūrėkime, kaip paleisti programą.

    Kaip paleisti „Windows“ programą

    Jei norite paleisti „Windows“ programą, įveskite Bash apvalkalo programos .exe failo kelią. Atminkite, kad jūsų „Windows“ C: diskas yra prieinamas / mnt / c Bash. Bash aplinka taip pat yra didžiosios ir mažosios raidės, todėl turite nurodyti teisingą kapitalizaciją.

    Tarkime, kad norėjote paleisti Ping įrankį, esantį C: Windows System32 PING.EXE. Jūs vykdote šią komandą:

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

    Ši komanda neveiks, nes Bash yra didžiosios ir mažosios raidės:

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

    Tai šiek tiek sudėtingesnė, jei kelias turi sudėtingus simbolius, tokius kaip tarpai ir skliausteliai, pvz., Programų failų aplankai. Turite „pabėgti“ tarpus, skliaustelius ir kitus sudėtingus simbolius, prieš juos pridedant „“ ženklą.

    Pavyzdžiui, tarkime, kad norite paleisti „Internet Explorer“ programą, esančią C: Programos failai (x86) „Internet Explorer“ iexplore.exe. Bash'e turėtumėte paleisti šią komandą:

    / mnt / c / Programos failai (x86) / Internet Explorer / iexplore.exe

    Pažymėkite „“ prieš tarpą ir skliaustelius. Šie simboliai turi būti „pabėgę“ arba „Bash“ nesuvokia, kad simboliai yra failo kelio dalis.

    Kaip perduoti argumentą į komandą

    Bash apvalkalas perduoda argumentus tiesiai į vykdomas komandas.

    Pvz., Jei norėjote ping.com, paleiskite:

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

    Arba, jei norėjote atidaryti „Windows“ kompiuterių failą „Notepad“, paleiskite:

    /mnt/c/Windows/System32/notepad.exe "C: Windows sistemos32 tvarkyklės ir tt"

    Naudodami standartinį „Windows“ failo kelią, kai perduodate failo kelią tiesiai į „Windows“ programą. Taip yra todėl, kad Bashas tiesiogiai perduoda argumentą. Notepad.exe ir kitos „Windows“ programos tikisi „Windows“ failo kelio.

    Kaip paleisti integruotą komandą

    Kai kurios „Windows“ komandos nėra „.exe“ failai, bet yra pačios „Command Prompt“. Pavyzdžiui, tai apima rež komandą, kurią paprastai galite paleisti komandų eilutėje. Norėdami paleisti tokią komandą, turite paleisti cmd.exe dvejetainis, susietas su komandų eilute, ir perduoti komandą kaip argumentą su / C, kaip ir:

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

    Pavyzdžiui, norint paleisti rež komandą, įterptą į komandų eilutę, atlikite šią komandą:

    /mnt/c/Windows/System32/cmd.exe / C rež

    Kaip į katalogą įtraukti katalogus

    „Windows“ paslaugos „Linux“ aplinkai traktuoja „Windows“ vykdomuosius failus, panašius į tai, kaip ji tvarko „Linux“ dvejetainius failus. Tai reiškia, kad į kelią galite pridėti katalogą, kuriame yra .exe failai, ir tada tuos .exe failus vykdyti tiesiogiai. Pavyzdžiui, jei norite pridėti System32 katalogą į savo kelią, paleiskite:

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

    Tada galite paleisti „Windows .exe“ failus, esančius aplanke System32, taip:

    PING.exe pavyzdys.com
    notepad.exe
    cmd.exe / C rež

    Kaip nukreipti vienos komandos komandą į kitą

    „Windows“ komandos išvestį galima perduoti į „Linux“ komandą ir atvirkščiai. Pavyzdžiui, galite naudoti ipconfig.exe - viskas komandą, kurioje pateikiami duomenys apie jūsų tinklo sąsajas ir ją prijungsite prie „Linux“ grep komandą ieškoti išvesties. Pvz., Jei norite išvardyti visą informaciją apie jūsų ryšį ir ieškoti skyrių, atitinkančių „IPv4 adresas“,

    /mnt/c/Windows/System32/ipconfig.exe - visi | grep "IPv4 adresas"

    Tai yra pagrindinis procesas. Šios komandos taip pat veiks, kai bus įtrauktos į „Bash“ scenarijų, todėl galite parašyti „Bash“ scenarijų, kuriame yra tiek „Windows“ komandos, tiek „Linux“. Jei jis veikia „Bash“ korpuse, jis veiks „Bash“ scenarijuje.

    Ir jei norite pereiti kitaip, galite naudoti komandą „bash -c“, kad paleistumėte „Bash“ komandas iš standartinės „Windows“ komandų eilutės.