U ažuriranju Stvoritelja, ljuska Bash za Windows 10 sada vam omogućuje pokretanje binarnih datoteka sustava Windows i standardne naredbe 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.
Evo nekoliko osnovnih podataka o ovoj značajki:
CD
naredba za promjenu radnih direktorija.Imajući to na umu, pogledajmo kako pokrenuti 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 u / mnt / c u Bash. Bash okruženje također je velika i mala slova, pa morate navesti ispravnu upotrebu velikih i malih slova.
Pretpostavimo da ste željeli pokrenuti uslužni program Ping koji se nalazi na adresi C: \ Windows \ System32 \ PING.EXE. Pokrenite sljedeću naredbu:
/mnt/c/Windows/System32/PING.EXE
Sljedeća naredba ne bi uspjela jer Bash razlikuje velika i mala slova:
/mnt/c/windows/system32/ping.exe
Ovo je malo složenije ako put sadrži kompleksne 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 \ Datoteke \ (x86 \) / Internet \ Explorer / iexplore.exe
Napominjemo "\" prije znakova razmaka i zagrada. Ti se znakovi moraju "izbjeći" ili Bash neće shvatiti da su znakovi dio puta datoteke.
Bash ljuska prolazi argumente izravno na naredbe koje izvršavate.
Na primjer, ako želite ping example.com, pokrenuli biste:
/mnt/c/Windows/System32/PING.EXE example.com
Ili, ako želite otvoriti datoteku s hostom sustava Windows u Notepad, pokrenuli biste:
/mnt/c/Windows/System32/notepad.exe "C: \ Windows \ System32 \ upravljački programi \ etc \ hosts"
Koristite standardni put datoteke u sustavu 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.
Neke naredbe sustava Windows nisu .exe datoteke, već su ugrađene u sam naredbeni redak. Na primjer, to uključuje i dir
naredbu koju možete normalno pokrenuti u naredbenom retku. Da biste pokrenuli takvu naredbu, morate pokrenuti cmd.exe
binarni povezan s naredbenim retkom i proslijediti naredbu kao argument s / C, kao što je to:
/mnt/c/Windows/System32/cmd.exe / C naredbu
Na primjer, za pokretanje programa dir
naredba ugrađena u naredbeni redak, pokrenite sljedeću naredbu:
/mnt/c/Windows/System32/cmd.exe / C dir
Windows Usluge za Linux okruženje upravlja izvršnim datotekama 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 / System32
Tada možete pokrenuti Windows .exe datoteke koje se nalaze izravno u mapi System32, na primjer:
PING.exe example.com
notepad.exe
cmd.exe / C dir
Izlaz naredbe sustava Windows može se usmjeriti na Linux naredbu, i obrnuto. Na primjer, možete upotrijebitiipconfig.exe-sve
naredba za popis pojedinosti o vašim mrežnim sučeljima i cijev na Linux grep
naredba za pretraživanje izlaza. 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 -all | grep "IPv4 adresa"
To je temeljni 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.
A ako želite ići na drugi način, možete upotrijebiti naredbu "bash-c" za pokretanje naredbi Bash iz standardnog naredbenog retka za sustav Windows.