Mājas lapa » » Kā palaist Windows programmas no Windows 10 Bash Shell

    Kā palaist Windows programmas no Windows 10 Bash Shell

    Programmas Izveidotāji atjauninājumā Windows 10 Bash apvalks tagad ļauj palaist Windows binārus un standarta komandu uzvednes komandas tieši no Bash. Jūs varat palaist gan Linux, gan Windows programmas no viena un tā paša Bash apvalka vai pat iekļaut Windows komandas Bash skriptu.

    Kas jums jāzina

    Tālāk ir sniegtas dažas pamatinformācijas, kas jums jāzina par šo funkciju:

    • Lietotāja konts: Programmas, kas sāktas no Bash apvalka, darbosies tā, it kā tās sāktu pašreizējais Windows lietotāja konts.
    • Atļaujas: Šīm programmām būs tādas pašas atļaujas kā Bash.exe procesam. Tātad, ja vēlaties, lai šīm komandām būtu administratora piekļuve, jums būs nepieciešams palaist Bash apvalku kā administratoru.
    • Darba katalogs: Windows programmām ir tāds pats "darba katalogs" kā Bash apvalks. Tātad, ja palaižat komandu, kurā uzskaitīti pašreizējā direktorija saturs, tas parādīs pašreizējā darba direktorija saturu Bash apvalkā. Izmantojiet cd komandu, lai mainītu darba katalogus.

    Paturot to prātā, aplūkosim, kā palaist programmu.

    Kā palaist Windows programmu

    Lai palaistu Windows programmu, ievadiet Bash apvalka programmu .exe faila ceļu. Atcerieties, ka jūsu Windows C: disks ir pieejams vietnē / mnt / c Bash. Bash vide ir arī reģistrjutīga, tāpēc jums ir jānorāda pareizā lieluma lielums.

    Pieņemsim, ka gribējāt palaist Ping utilītu, kas atrodas C: Windows System32 PING.EXE. Jūs palaidīsiet šādu komandu:

    /mnt/c/Windows/System32/PING.EXE

    Šāda 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, piemēram, mapes Program Files. Jums ir jāizbrauc no atstarpēm, kronšteiniem un citām sarežģītām rakstzīmēm, pirms tām pievienojot rakstzīmi "".

    Piemēram, pieņemsim, ka vēlaties palaist programmu Internet Explorer, kas atrodas C: Programmas faili (x86) Internet Explorer iexplore.exe. Bash ir jāizpilda šāda komanda:

    / mnt / c / Programmas faili (x86) / Internet Explorer / iexplore.exe

    Piezīme “pirms” un atstarpes rakstzīmes. Šīm rakstzīmēm jābūt “izbēgušām” vai Bash neapzinās, ka rakstzīmes ir daļa no faila ceļa.

    Kā nodot argumentu komandai

    Bash apvalks nodod argumentus tieši izpildītajām komandām.

    Piemēram, ja vēlaties, lai ping example.com, jūs palaidīsiet:

    /mnt/c/Windows/System32/PING.EXE example.com

    Vai arī, ja vēlaties atvērt Windows resursdatora failu piezīmjdatorā, darbināt:

    /mnt/c/Windows/System32/notepad.exe "C: Windows System32 vadītāji utt."

    Izmantojot faila ceļu tieši Windows programmā, izmantojat standarta Windows faila ceļu. Tas ir tāpēc, ka Bash tieši nodod argumentu. Notepad.exe un citas Windows programmas sagaida Windows faila ceļu.

    Kā palaist iebūvētu komandu

    Dažas Windows komandas nav .exe faili, bet tās ir iebūvētas pati komandu uzvedne. Piemēram, tas ietver dir komandu, kuru parasti var palaist komandu uzvednē. Lai palaistu šādu komandu, nepieciešams palaist cmd.exe bināri, kas saistīti ar komandu uzvedni, un nodod to komandai kā argumentam ar / C, piemēram:

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

    Piemēram, lai palaistu dir komandu uzvednē, jūs palaidīsiet šādu komandu:

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

    Kā pievienot katalogus ceļam

    Windows pakalpojumi Linux vidē apstrādā Windows programmas, kas ir līdzīgas tam, kā tās apstrādā Linux binārus. Tas nozīmē, ka jūs varat pievienot ceļu, kurā ir .exe faili, un pēc tam tieši izpildiet šos .exe failus. Piemēram, lai pievienotu System32 direktoriju savam ceļam, jūs palaidīsiet:

    eksportēt PATH = $ PATH: / mnt / c / Windows / System32

    Tad varat tieši darbināt Windows .exe failus, kas atrodas System32 mapē, piemēram:

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

    Kā caurules izvadīt vienu komandu uz citu

    Windows komandas izvadi var nosūtīt uz Linux komandu un otrādi. Piemēram, varat izmantot ipconfig.exe - viss komandu, lai uzskaitītu informāciju par tīkla saskarnēm un izvadītu to uz Linux grep komandu, lai meklētu izeju. Piemēram, lai uzskaitītu visu informāciju par savienojumu un meklētu sadaļas, kas atbilst “IPv4 adrese”, jūs palaidīsiet:

    /mnt/c/Windows/System32/ipconfig.exe - viss | grep "IPv4 adrese"

    Tas ir pamata process. Šīs komandas darbosies arī tad, ja tās ir iekļautas Bash skriptu, lai jūs varētu uzrakstīt Bash skriptu, kas ietver gan Windows komandas, gan Linux utilītprogrammas. Ja tas darbojas Bash apvalkā, tas darbosies Bash skriptu.

    Ja vēlaties doties citā veidā, varat izmantot komandu “bash -c”, lai palaistu Bash komandas no standarta Windows komandu uzvednes.