11Sep

Kako pokrenuti Windows programe iz Bash Shell sustava Windows 10

click fraud protection

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.
    instagram viewer

    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.EXE

    Sljedeća naredba ne bi radila jer Bash razlikuje velika i mala slova:

    /mnt/c/windows/system32/ ping.exe

    Ovo 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.exe

    Zapiš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.com

    Ili, 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 naredba

    Na primjer, za pokretanje direktorijanaredba 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 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/ System32

    Tada možete pokrenuti Windows. exe datoteke koje se nalaze izravno u mapi System32, primjerice: primjer

    PING.exe.com notepad.exe cmd.exe / C dir

    Kako 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.

    RELATED ARTICLES
    Kako stvoriti i pokrenuti skripte Bash Shell na Windowsima 10
    Kako pokrenuti Linux naredbe iz izvan Bash Shell na Windowsima 10