If-Koubou

Как да стартирате Windows Прозорец от Windows 10 Bash Shell

Как да стартирате Windows Прозорец от Windows 10 Bash Shell (Как да)

В "Актуализацията на създателите" Windows shell Bash вече ви позволява да пускате команди в Windows и стандартни команди на Command Prompt, точно от Баш. Можете да стартирате програмите Linux и Windows от една и съща Bash shell или дори да включите командите на Windows в Bash скрипт.

Какво трябва да знаете

Ето някои основни подробности, които трябва да знаете за тази функция:

  • Потребителски акаунт: Програмите, стартирани от Bash shell, ще се изпълняват така, сякаш са стартирани от текущия потребителски акаунт на Windows.
  • Разрешения: Тези програми ще имат същите права като процеса Bash.exe. Така че, ако искате тези команди да имат администраторски достъп, ще трябва да стартирате Bash shell като Administrator.
  • Работен указател: Програмите на Windows споделят една и съща "работна директория" като Bash shell. Така че, ако изпълнявате команда, която изброява съдържанието на текущата директория, тя ще изброи съдържанието на текущата работна директория в обвивката Bash. Използвай CD команда за промяна на работните директории.

С оглед на това, нека да разгледаме как да изпълните програма.

Как да стартирате програма за Windows

За да стартирате програма за 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.