Što trebaš znati
Evo nekoliko osnovnih podataka o ovoj značajki:
- Korisnički račun: Programi pokrenuti iz Bash ljuske će se prikazivati kao da su pokrenuli postojeći korisnički račun sustava Windows.
- dozvole: Ti programi imaju iste dozvole kao i Bash.exe. 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. Koristiti
cd
naredba za promjenu radnih direktorija.
Imajući to na umu, 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 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
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.exe
Napominjemo "" 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 zapovijed
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:WindowsSystem32driversetchosts'
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.
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 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 command
Na primjer, za pokretanje programa
dir
naredba ugrađena u naredbeni redak, pokrenite sljedeću naredbu:
/mnt/c/Windows/System32/cmd.exe /C dir
Kako dodati direktorije na put
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:
export 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
Kako crtati izlaz jednog zapovijedanja drugoj
Izlaz naredbe sustava Windows može se usmjeriti na Linux naredbu, i obrnuto. Na primjer, možete upotrijebiti
ipconfig.exe -all
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 Address'
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.