11Sep
U ažuriranju Stvoritelja, ljuska Bash u sustavu Windows 10 sada vam omogućuje pokretanje bacača sustava Windows i standardnih naredbi naredbene naredbe, odmah od Bash. Možete pokrenuti i Linux i Windows programe iz iste Bash ljuske, ili čak ugraditi Windows naredbe u Bash skripte.
Što trebate znati
Ovdje su neke osnovne detalje koje trebate znati o ovoj značajci:
- korisnički račun : Programi pokrenuti iz Bash ljuske će se izvoditi kao da su pokrenuli trenutni korisnički račun sustava Windows.
- Dozvole : Ti programi imaju iste dozvole kao i Bash.exe proces. Dakle, ako želite da te naredbe imaju pristup administratoru, morat ćete pokrenuti program Bash kao administrator. Radni imenik
- : Windows programi dijele isti "radni direktorij" kao i Bash ljuska. Dakle, ako pokrenete naredbu koja navodi sadržaj trenutnog direktorija, navest će sadržaj trenutnog radnog direktorija u Bash ljusci. Koristite naredbu cd za promjenu radnih direktorija. S obzirom na to, pogledajmo kako pokrenuti program.
Kako pokrenuti Windows program
Da biste pokrenuli Windows program, unesite put do datoteke programa. exe u programu Bash. Imajte na umu da je vaš Windows C: pogon dostupan na /mnt/ c u Bashu. Bash okruženje također je velika i mala slova, pa morate navesti ispravnu upotrebu velikih i malih slova. Pretpostavimo da ste htjeli pokrenuti program Ping koji se nalazi na adresi C: \ Windows \ System32 \ PING.EXE.Trebali biste pokrenuti sljedeću naredbu:
/mnt/c/Windows/System32/ PING.EXESljedeća naredba ne bi radila jer Bash razlikuje velika i mala slova:
/mnt/c/windows/system32/ ping.exeOvo je malo složenije ako put sadrži složene znakove poput razmaka i zagrada,poput mapa Program Files. Morate "izbjeći" prostore, zagrade i druge složene znakove prefiksajući ih s znakom "\".
Na primjer, recimo da želite pokrenuti program Internet Explorer koji se nalazi na C: \ Program Files( x86) \ Internet Explorer \ iexplore.exe. Morate pokrenuti sljedeću naredbu u Bashu:
/mnt/c/ Program \ Files \\( x86 \) / Internet \ Explorer / iexplore.exeZapišite "\" prije znakova razmaka i zagrada. Ti se znakovi moraju "izbjeći" ili Bash neće shvatiti da su znakovi dio puta datoteke.
Kako prepustiti argument za naredbu
Shema Bash prolazi izravno argumentima naredbi koje izvršavate.
Na primjer, ako ste željeli ping example.com, pokrenuli biste:
/mnt/c/Windows/System32/ PING.EXE example.comIli, ako želite otvoriti Windows domaćin datoteku u Notepad, pokrenuli biste:
/mnt/c/Windows/System32/ notepad.exe "C: \ Windows \ System32 \ drivere \ etc \ domaćini "Koristite standardnu stazu datoteka sustava Windows kada prolazite put datoteke izravno u Windows program. To je zato što Bash izravno prenosi argument. Notepad.exe i drugi Windows programi očekuju putanje datoteka sustava Windows.
Kako pokrenuti ugrađenu naredbu
Neke naredbe sustava Windows nisu. exe datoteke, već su ugrađene u sam naredbeni redak. Na primjer, to uključuje naredbu dir koju biste inače mogli pokrenuti u naredbenom retku. Da biste pokrenuli takvu naredbu, potrebno je pokrenuti binarni program cmd.exe koji je povezan s naredbenim retkom i proslijediti naredbu kao argument s / C, kao što je npr:
/mnt/c/Windows/System32/ cmd.exe / C naredbaNa primjer, za pokretanje direktorijanaredba ugrađena u naredbeni redak, pokrenite sljedeću naredbu:
/mnt/c/Windows/System32/ cmd.exe / C dirKako dodati direktorije na put
Windows Usluge za Linux okruženje tretira izvršne datoteke sustava Windows slično načinu na koji tretira Linux binaries. To znači da možete dodati direktorij koji sadrži datoteke. exe na put i izvršiti izravno one. exe datoteke. Na primjer, da biste dodali direktorij System32 na svoj put, pokrenuli biste:
izvoz PATH = $ PATH: /mnt/c/Windows/ System32Tada možete pokrenuti Windows. exe datoteke koje se nalaze izravno u mapi System32, primjerice: primjer
PING.exe.com notepad.exe cmd.exe / C dirKako crtati izlaz jedne naredbe na drugu
Izlaz naredbe sustava Windows može se usmjeriti na Linux naredbu, i obrnuto. Na primjer, možete upotrijebiti naredbu ipconfig.exe da biste naveli pojedinosti o mrežnim sučeljima i usmjerili je na naredbu Linux grep da biste pretražili izlaz. Na primjer, da biste naveli sve informacije o vezi i pretražili odjeljke koji odgovaraju "IPv4 adresi", pokrenuli biste:
/mnt/c/Windows/System32/ ipconfig.exe - sve |grep "IPv4 adresa"To je osnovni proces. Te će naredbe također funkcionirati ako su ugrađene u skriptu Bash, tako da možete napisati skriptu Bash koja uključuje obje naredbe sustava Windows i Linux uslužne programe. Ako se pokreće u ljusci Bash, radit će u skripti Bash.
Ako želite ići na drugi način, možete upotrijebiti naredbu "bash -c" za pokretanje naredbi Bash iz standardnog naredbenog retka sustava Windows.