Kuidas käivitada Windowsi programme Windows 10 Bash Shellist
Rakenduse Looja värskenduses võimaldab Windows 10 Bash-kest nüüd käivitada Windowsi binaarfaile ja tavalisi käsuviipide käske otse Bashist. Saate käivitada nii Linuxi kui ka Windows-i programme samast Bashi koorest või isegi lisada Windowsi käsud Bash-skripti.
Mida on vaja teada
Siin on mõned põhilised üksikasjad, mida peate selle funktsiooni kohta teadma:
- Kasutajakonto: Bashi koorest käivitatud programmid töötavad nii, nagu need oleksid käivitanud praegune Windowsi kasutajakonto.
- Load: Neil programmidel on samad õigused nagu Bash.exe protsessil. Niisiis, kui soovite, et nendel käskudel oleks administraatori juurdepääs, peate Bashi kesta käivitama administraatorina.
- Töökataloog: Windowsi programmid jagavad sama "töökausta" kui Bashi koorega. Niisiis, kui käivitate käsu, mis loetleb praeguse kataloogi sisu, loetleb see praeguse töökausta sisu Bashi kesta. Kasuta
cd
käsk muuta töökaustu.
Seda silmas pidades vaatame, kuidas programmi käivitada.
Kuidas käivitada Windowsi programm
Windowsi programmi käivitamiseks sisestage Bashi kesta programmi .exe faili tee. Pea meeles, et teie Windows C: draiv on saadaval aadressil / mnt / c Bashis. Bash-keskkond on ka tõstutundlik, nii et peate täpsustama õige suuruse.
Oletame, et soovisite käivitada Ping-utiliidi, mis asub aadressil C: Windows System32 PING.EXE. Sa käivitaksid järgmise käsu:
/mnt/c/Windows/System32/PING.EXE
Järgmine käsk ei tööta, sest Bash on tõstutundlik:
/mnt/c/windows/system32/ping.exe
See on natuke keerulisem, kui tee sisaldab keerukaid märke, nagu tühikud ja sulgud, nagu programmifailide kaustad. Te peate „põgenema” tühikuid, sulgusid ja muid keerulisi märke, lisades neile märke „“.
Oletame näiteks, et soovid käivitada Internet Exploreri programmi, mis asub aadressil C: Failifailid (x86) Internet Explorer iexplore.exe. Peaksite Bashis käivitama järgmise käsu:
/ mnt / c / programmi failid (x86) / Internet Explorer / iexplore.exe
Pange tähele, et see on tühiku ja sulgude tähemärkide ees. Need märgid peavad olema „põgenenud” või Bash ei mõista, et tähemärgid on osa failirajast.
Kuidas edastada väide käsule
Bash-kest edastab argumendid otse sooritatud käskudele.
Näiteks, kui soovisite ping.com.com-i pingutada, käivitaksite:
/mnt/c/Windows/System32/PING.EXE example.com
Või kui sa tahad avada Windowsi hostifaili Notepadis, käivitaksite:
/mnt/c/Windows/System32/notepad.exe "C: Windowsi System32 draiverid jne"
Kui kasutate failirada otse Windowsi programmile, kasutate te standardse Windowsi failiraja. Seda seetõttu, et Bash edastab argumenti otse. Notepad.exe ja teised Windowsi programmid ootavad Windowsi failirada.
Kuidas käivitada sisseehitatud käsk
Mõned Windowsi käsud ei ole .exe-failid, vaid on sisestatud käsurealt ise. See hõlmab näiteks dir
käsk, mida tavaliselt käsurealt käivitada. Sellise käsu käivitamiseks peate käivitama cmd.exe
Command Promptiga seotud binaar ja edastage see käsk argumendina / C-ga, näiteks:
/mnt/c/Windows/System32/cmd.exe / C käsk
Näiteks, et käivitada dir
käsureale sisseehitatud käsk, käivitaksite järgmise käsu:
/mnt/c/Windows/System32/cmd.exe / C dir
Kuidas lisada katalooge kataloogi
Windowsi teenused Linuxi keskkonnas kohtlevad Windowsi käivitatavaid faile sarnaselt Linuxi binääridega. See tähendab, et te saate teele lisada .exe faile sisaldava kataloogi ja seejärel käivitada need .exe-failid otse. Näiteks, et lisada oma süsteemi System32 kataloogi, käivitaksite:
eksport PATH = $ PATH: / mnt / c / Windows / System32
Seejärel saate otse käitada System32 kaustas asuvaid Windows .exe faile, näiteks:
PING.exe example.com
notepad.exe
cmd.exe / C dir
Kuidas juhtida ühe käsu väljundi teisele
Windowsi käsu väljundit saab juhtida Linuxi käsu ja vastupidi. Näiteks saate kasutada ipconfig.exe -all
käsk, et loetleda oma võrguliideste üksikasjad ja juhtida see Linuxi grep
käsk väljundi otsimiseks. Näiteks, et kuvada kogu teave oma ühenduse kohta ja otsida jaotisi, mis sobivad IPv4-aadressiga, käivitate:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4-aadress"
See on põhiprotsess. Need käsud toimivad ka siis, kui need on lisatud Bash-skripti, nii et saate kirjutada Bash-skripti, mis sisaldab nii Windowsi käske kui ka Linuxi utiliite. Kui see töötab Bash-kestas, töötab see Bash-skriptis.
Ja kui soovite minna teisele poole, saate kasutada "bash-c" käsku, et käivitada Bash-käsud standardsest Windowsi käsurealt.