Izstrādātāju atjauninājumā, operētājsistēmas Windows 10 bāzē esošā čaula tagad ļauj palaist Windows binārus un standarta komandu uzvednes tieši no Bash. Jūs varat palaist gan Linux, gan Windows programmas no tās pašas Bash apvalka vai pat iekļaut Windows komandas Bash skriptā.
Šeit ir daži pamatinformācija, kas jums jāzina par šo funkciju:
cd
komanda mainīt darba direktorijas.Paturot to prātā, ieskatieties, kā palaist programmu.
Lai palaistu Windows programmu, ievadiet ceļu uz programmas .exe failu Bash apvalkā. Atcerieties, ka jūsu Windows C: disks ir pieejams vietnē / mnt / c Bash. Bash vide ir reģistrjutīga, tādēļ jums ir jānorāda pareizā kapitalizācija.
Pieņemsim, ka jūs vēlējāties palaist Ping utilītu, kas atrodas C: \ Windows \ System32 \ PING.EXE. Jūs palaidāt šādu komandu:
/mnt/c/Windows/System32/PING.EXE
Nākamā komanda nedarbosies, jo Bash ir reģistrjutīga.
/mnt/c/windows/system32/ping.exe
Tas ir nedaudz sarežģītāks, ja ceļš satur sarežģītas rakstzīmes, piemēram, atstarpes un iekavās, piemēram, mapes Program Files. Jums ir "izbēgt" atstarpes, iekavās un citās sarežģītās rakstzīmes, prefiksējot tās ar "\" rakstzīmi.
Piemēram, pieņemsim, ka vēlaties palaist Internet Explorer programmu, kas atrodas C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe. Jums būs jāspēlē šāda komanda Bash:
/ mnt / c / Programma \ Files \ \ (x86 \) / Internet \ Explorer / iexplore.exe
Ievērojiet "\" pirms atstarpes un kronšteina rakstzīmes. Šīs rakstzīmes ir "izglābtas" vai Bash neizprot, ka rakstzīmes ir daļa no faila ceļa.
Bash čaula pārsūta argumentus tieši uz izpildītajām komandām.
Piemēram, ja jūs vēlaties ping example.com, jūs palaidāt:
/mnt/c/Windows/System32/PING.EXE example.com
Vai arī, ja jūs vēlaties atvērt Windows saimniekiem failu Notepad, jūs palaidāt:
/mnt/c/Windows/System32/notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ hosts"
Jūs izmantojat standarta Windows faila ceļu, kad iet faila ceļš tieši uz Windows programmu. Tas ir tāpēc, ka Bash tieši iesniedz argumentu. Notepad.exe un citas Windows programmas sagaida Windows faila ceļu.
Dažas Windows komandas nav .exe faili, bet ir iebūvēti komandrindā. Piemēram, tas ietver dir
komanda parasti palaist komandu uzvednē. Lai palaistu šādu komandu, jums jāieslēdz cmd.exe
binārs saistīts ar komandu uzvedni un nodod komandu kā argumentu ar / C, tāpat kā:
/mnt/c/Windows/System32/cmd.exe / C komanda
Piemēram, lai palaistu dir
komandu ievadot komandu, jūs izpildītu šādu komandu:
/mnt/c/Windows/System32/cmd.exe / C rež
Windows pakalpojumu Linux vidē tiek izskatīti Windows izpildāmie faili, līdzīgi tam, kā tā apstrādā Linux binārus. Tas nozīmē, ka jūs varat pievienot ceļam direktoriju, kurā ir .exe faili, un pēc tam tieši izpildīt šos .exe failus. Piemēram, lai jūsu ceļš iekļautu System32 direktoriju, palaidiet:
eksports PATH = $ PATH: / mnt / c / Windows / System32
Pēc tam jūs varētu tieši palaist sistēmas mapē Windows .exe failus, piemēram:
PING.exe example.com
notepad.exe
cmd.exe / C dir
Windows komandas izvadi var ievadīt komandai Linux, un otrādi. Piemēram, jūs varat izmantotipconfig.exe-viss
komandu, lai uzskaitītu detalizētu informāciju par jūsu tīkla saskarnēm un caurlaide to uz Linux grep
komanda meklēt rezultātu. Piemēram, lai uzskaitītu visu informāciju par jūsu savienojumu un meklētu sadaļas, kas atbilst "IPv4 adresei", jūs palaidīsiet:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4 adrese"
Tas ir pamatprocess. Šīs komandas darbojas arī tad, ja tās tiek iekļautas Bash skriptā, tādējādi jūs varat rakstīt Bash skriptu, kas ietver gan Windows komandas, gan Linux utilītprogrammas. Ja tas darbojas Bash apvalkā, tas darbosies Bash skriptā.
Un, ja vēlaties doties otrādi, varat izmantot komandu "bash -c", lai palaistu komandas Bash no standarta Windows komandu uzvednes.