В "Актуализацията на създателите" Windows shell Bash вече ви позволява да пускате команди в Windows и стандартни команди на Command Prompt, точно от Баш. Можете да стартирате програмите Linux и Windows от една и съща Bash shell или дори да включите командите на Windows в Bash скрипт.
Ето някои основни подробности, които трябва да знаете за тази функция:
CD
команда за промяна на работните директории.С оглед на това, нека да разгледаме как да изпълните програма.
За да стартирате програма за Windows, въведете пътя към файла .exe на програмата в обвивката Bash. Не забравяйте, че устройството ви с Windows C: е налице в / mnt / c в баш. Бас-средата също е чувствителна към малки и големи букви, така че трябва да посочите правилната капитализация.
Да речем, че искате да стартирате Ping помощната програма, разположена на C: \ Windows \ System32 \ PING.EXE. Ще изпълните следната команда:
/mnt/c/Windows/System32/PING.EXE
Следващата команда няма да работи, защото Баш е чувствителна към малки и големи букви:
/mnt/c/windows/system32/ping.exe
Това е малко по-сложно, ако пътят съдържа сложни знаци като интервали и скоби, като папките на програмните файлове. Трябва да "избягвате" пространства, скоби и други сложни символи, като ги префиксирате с "\" символ.
Например, да речем, че искате да стартирате програмата Internet Explorer, намираща се в C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe. Трябва да изпълните следната команда в Баш:
/ mnt / c / програма \ Files \ \ (x86 \) / Internet \ Explorer / iexplore.exe
Забележете "\" преди знака за интервал и скоба. Тези знаци трябва да бъдат "избягали" или Баш няма да осъзнае, че знаците са част от пътя на файла.
Калъфът Bash предава аргументи директно на командите, които изпълнявате.
Например, ако искате да ping example.com, бихте изпълнили:
/mnt/c/Windows/System32/PING.EXE example.com
Или, ако искате да отворите файла за хостове на Windows в Notepad, ще стартирате:
/mnt/c/Windows/System32/notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ hosts"
Използвате стандартния път на файловете на Windows, когато предавате директно файловия път към програма за Windows. Това е така, защото Баш предава аргумента директно. Notepad.exe и други програми на Windows очакват пътека за Windows файлове.
Някои команди на Windows не са .exe файлове, а са вградени в самия команден прозорец. Например това включва реж
командата обикновено може да се изпълнява в командния ред. За да изпълните такава команда, трябва да изпълните cmd.exe
двоично свързан с командния ред и да го предаде командата като аргумент с / C, както е така:
командата /mnt/c/Windows/System32/cmd.exe / C
Например, за да стартирате реж
команда, вградена в командния ред, трябва да изпълните следната команда:
/mnt/c/Windows/System32/cmd.exe / C реж
Приложението Windows Services for Linux третира Windows изпълними файлове, подобно на начина, по който третира Linux файловете. Това означава, че можете да добавите директория, съдържаща .exe файлове в пътя и след това да изпълните тези .exe файлове директно. Например, за да добавите директорията System32 към вашия път, бихте изпълнили:
износа PATH = $ PATH: / mnt / c / Windows / System32
След това бихте могли да стартирате Windows .exe файлове, намиращи се директно в директорията System32, като например:
PING.exe example.com
notepad.exe
cmd.exe / C реж
Изходът на командата на Windows може да бъде прехвърлен към Linux команда и обратно. Например, можете да използватеipconfig.exe -всички
команда, за да изведете подробности за мрежовите интерфейси и да ги насочите към Linux Впиши
команда за търсене на изхода. Например, за да изведете цялата информация за връзката си и да търсите раздели, съвпадащи с "IPv4 адрес", бихте изпълнили:
/mnt/c/Windows/System32/ipconfig.exe -всички | grep "IPv4 Адрес"
Това е основният процес. Тези команди също ще работят, когато са включени в Bash скрипт, така че можете да напишете Bash скрипт, който включва както командите на Windows, така и помощните програми на Linux. Ако тя се изпълнява в Bash shell, тя ще работи в баш скрипт.
И ако искате да отидете в другата посока, можете да използвате командата "bash -c", за да стартирате командите Баш от стандартния Windows Command Prompt.