![Kūrėjų atnaujinime dabar "Windows 10" "Bash" lange galite paleisti "Windows" dvejetainius failus ir standartines komandinės eilutės komandas tiesiai iš "Bash". Jūs galite paleisti tiek "Linux", tiek "Windows" programas iš tos pačios "Bash" apvalkalo arba net įtraukti "Windows" komandas į "Bash" scenarijų. Kūrėjų atnaujinime dabar "Windows 10" "Bash" lange galite paleisti "Windows" dvejetainius failus ir standartines komandinės eilutės komandas tiesiai iš "Bash". Jūs galite paleisti tiek "Linux", tiek "Windows" programas iš tos pačios "Bash" apvalkalo arba net įtraukti "Windows" komandas į "Bash" scenarijų.](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-p.webp)
Ką tu turi žinoti
Štai keletas pagrindinių duomenų, kuriuos turite žinoti apie šią funkciją:
- Vartotojo paskyra: Programos, paleidžiamos iš "Bash" aplanko, bus paleidžiamos taip, tarsi jos būtų paleistos pagal dabartinę "Windows" vartotojo paskyrą.
- Leidimai: Šios programos turės tokius pačius teises kaip ir Bash.exe procesas. Taigi, jei norite, kad šios komandos gautų administratoriaus prieigą, turėsite paleisti "Bash" lange kaip administratorių.
-
Darbas kataloge: "Windows" programos turi tą patį "darbo katalogą" kaip "Bash" apvalkalas. Taigi, jei paleisite komandą, kurioje bus nurodytas dabartinio katalogo turinys, jis parodys dabartinio darbo katalogo turinį "Bash" lange. Naudoti
cd
komanda keisti darbo katalogus.
Atsižvelgdami į tai, pažvelkime, kaip paleisti programą.
Kaip paleisti "Windows" programą
Norėdami paleisti "Windows" programą, įveskite kelią į programos.exe failą "Bash" lange. Atminkite, kad "Windows C:" diskas yra prieinamas / mnt / c "Bash". "Bash" aplinka taip pat priklauso nuo didžiosios raidės.
Tarkime, kad norėjote paleisti "Ping" programą, esančią C: Windows System32 PING.EXE. Būsite paleisti šią komandą:
/mnt/c/Windows/System32/PING.EXE
Šita komanda neveikia, nes Bash yra didžiosios raidės.
/mnt/c/windows/system32/ping.exe
![Tai šiek tiek sudėtingiau, jei kelias yra sudėtingų simbolių, tokių kaip tarpai ir skliausteliuose, pvz., Programos failų aplankai. Turite "pabėgti" tarpų, skliaustus ir kitus sudėtingus simbolius, prieš juos priskirdami simboliu "". Tai šiek tiek sudėtingiau, jei kelias yra sudėtingų simbolių, tokių kaip tarpai ir skliausteliuose, pvz., Programos failų aplankai. Turite "pabėgti" tarpų, skliaustus ir kitus sudėtingus simbolius, prieš juos priskirdami simboliu "".](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-1-p.webp)
Pavyzdžiui, tarkime, kad norite paleisti "Internet Explorer" programą, esančią C: Program Files (x86) Internet Explorer iexplore.exe. Bashe turėsite paleisti šią komandą:
/mnt/c/Program Files (x86)/Internet Explorer/iexplore.exe
Pastaba "" prieš vietos ir bracket simbolius. Šie simboliai turi būti "pabėgę" arba "Bash" nesuvokia, kad simboliai yra failo kelio dalis.
![Image Image](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-2-p.webp)
Kaip perduoti argumentą komandai
"Bash" lange praeina argumentai tiesiai į komandas, kurias vykdote.
Pavyzdžiui, jei norite ping example.com, paleiskite:
/mnt/c/Windows/System32/PING.EXE example.com
Arba, jei norėtumėte atidaryti "Windows" kompiuterių failą "Notepad", paleiskite:
/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'
Kai naudojate failo kelią tiesiai į "Windows" programą, naudojate standartinį "Windows" failo kelią. Taip yra dėl to, kad Bash tiesiogiai pateikia argumentą. Notepad.exe ir kitos "Windows" programos tikisi "Windows" failo kelio.
![Image Image](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-3-p.webp)
Kaip paleisti įmontuotą komandą
Kai kurios "Windows" komandos yra ne.exe failai, bet jie yra įmontuoti į komandų eilutę. Pavyzdžiui, tai apima
dir
komanda paprastai paleisti komandinę eilutę. Norėdami paleisti tokią komandą, turite paleisti
cmd.exe
dvejetainis, susietas su komandų eilute ir perduoda komandą kaip argumentą su / C, panašiai kaip:
/mnt/c/Windows/System32/cmd.exe /C command
Pavyzdžiui, paleiskite
dir
komandą, įvestą į komandų eilutę, paleiskite šią komandą:
/mnt/c/Windows/System32/cmd.exe /C dir
![Image Image](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-4-p.webp)
Kaip pridėti katalogus prie kelio
"Windows Services for Linux" aplinka tvarko "Windows" vykdomąjį failą panašiai kaip ir "Linux" dvejetainius failus. Tai reiškia, kad galite pridėti katalogą, kuriame yra.exe failai, ir paleiskite šiuos.exe failus tiesiogiai. Pavyzdžiui, jei norite pridėti sistemos32 katalogą į savo kelią, paleiskite:
export PATH=$PATH:/mnt/c/Windows/System32
Tada galite paleisti "Windows.exe" failus, esančius kataloge "System32", taip pat:
PING.exe example.com
notepad.exe
cmd.exe /C dir
![Image Image](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-5-p.webp)
Kaip vamzdis iš vienos komandos į kitą
Komandos Windows išvestis gali būti perduota komandai Linux ir atvirkščiai. Pavyzdžiui, galite naudoti
ipconfig.exe -all
komandą išsamiai apibūdinti savo tinklo sąsajas ir perduoti ją į "Linux"
grep
komanda ieškoti produkcijos. Pavyzdžiui, norėdami nurodyti visą informaciją apie jūsų ryšį ir ieškoti skirsnių, atitinkančių "IPv4 adresą", paleiskite:
/mnt/c/Windows/System32/ipconfig.exe -all | grep 'IPv4 Address'
![Tai pagrindinis procesas. Šios komandos taip pat veiks, kai bus įtrauktos į "Bash" scenarijų, todėl galėsite parašyti Basho scenarijų, kuriame yra ir "Windows" komandų, ir "Linux" komunalinės paslaugos. Jei jis paleidžiamas "Bash" lange, jis veiks Basho scenarijuje. Tai pagrindinis procesas. Šios komandos taip pat veiks, kai bus įtrauktos į "Bash" scenarijų, todėl galėsite parašyti Basho scenarijų, kuriame yra ir "Windows" komandų, ir "Linux" komunalinės paslaugos. Jei jis paleidžiamas "Bash" lange, jis veiks Basho scenarijuje.](https://i.technology-news-hub.com/images/blog/how-to-run-windows-programs-from-windows-10s-bash-shell-6-p.webp)
Ir, jei norite pereiti kitu būdu, galite naudoti komandą "bash-c", norėdami paleisti Bash komandas iš standartinės "Windows" komandinės eilutės.