11Sep

Kā palaist Windows programmas no Windows 10 Bash apvalka

Creators Update, Windows 10 Bash apvalks tagad ļauj jums palaist Windows binaries un standarta komandu uzvednes komandas, 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ā.

Kas jums jāzina

Šeit ir daži pamatinformācija, kas jums jāzina par šo funkciju:

  • lietotāja konts : programmas, kas startētas no Bash apvalka, darbosies tā, it kā tos palaistu pašreizējais Windows lietotāja konts.
  • atļaujas : šīm programmām būs tādas pašas tiesības kā Bash.exe procesam. Tātad, ja jūs vēlaties, lai šīm komandām būtu Administratora piekļuve, jums būs jāuzstāda Bash apvalks kā administrators.
  • Darba direktorija : Windows programmām ir vienāda "darba direktorija" kā Bash apvalks. Tātad, ja palaižat komandu, kurā norādīts pašreizējā direktorija saturs, tā sarakstā iekļaus esošā darba direktora saturu Bash apvalkā.Izmantojiet cd komandu, lai mainītu darba direktorijas.

Ņemot to vērā, ieskatieties, kā palaist programmu.

Kā palaist Windows programmu

Lai palaistu Windows programmu, ievadiet ceļu uz programmas. exe failu Bash apvalkā.Atcerieties, ka jūsu Windows C: disks ir pieejams /mnt/ c versijā 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īsiet šā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,tāpat kā programmas failu mapes. 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 vajadzētu palaist šādu komandu Bash:

/mnt/c/ Program \ 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.

Kā nodot argumentu komandai

Bash čaula argumentus pārsūta tieši komandām, kuras izpildāt.

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 saimniekdatoru failu Notepad, jūs palaidāt:

/mnt/c/Windows/System32/ notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ hosts "

Izmantojot standarta Windows faila ceļu, faila ceļš tiek pārsūtīts 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.

Kā izpildīt iebūvēto komandu

Daži Windows komandas nav. exe faili, bet ir iebūvēti komandrindā.Piemēram, tas ietver komandu komandu, kuru jūs parasti varētu izpildīt komandu uzvednē.Lai palaistu šādu komandu, jums jāuzstāda komandrindā saistītais binārs cmd.exe un jāuztver komanda kā arguments ar / C, tāpat:

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

Piemēram, lai palaistu direktorijukomandu, kas iebūvēts komandu uzvednē, jūs izpildītu šādu komandu:

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

Kā pievienot direktorijas ceļā

Windows pakalpojumu Linux vidē apstrādā Windows izpildāmās programmas, 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 pievienotu System32 direktoriju savam ceļam, jūs palaidīsiet:

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

Tad jūs varētu tieši palaist Windows. exe failus, kas atrodas mapē System32, piemēram:

PING.exe piemērscom notepad.exe cmd.exe / C draiveris

Kā caurlaide izejas no vienas komandas uz citu

Windows komandas izvadi var pārnest uz Linux komandu, un otrādi. Piemēram, jūs varat izmantot ipconfig.exe-visu komandu, lai uzskaitītu detalizētu informāciju par tīkla saskarnēm un pārnes to uz Linux grep komandu, lai meklētu izvadi. 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 -visu |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 jūs vēlaties iet pa kreisi, jūs varat izmantot komandu "bash-c", lai palaistu komandas Bash no standarta Windows komandu uzvednes.

SAISTĪTIE RAKSTI
Kā izveidot un palaist Bash apvalkprogrammas skriptus uz Windows 10
Kā palaist Linux komandas no ārpuses Bash apvalka uz Windows 10