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

Съдържание:

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

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

Видео: Как да стартирате Windows Прозорец от Windows 10 Bash Shell
Видео: Google Chrome & Security: Sandboxing - YouTube 2024, Може
Anonim
В "Актуализацията на създателите" Windows shell Bash вече ви позволява да пускате команди в Windows и стандартни команди на Command Prompt, точно от Баш. Можете да стартирате програмите Linux и Windows от една и съща Bash shell или дори да включите командите на Windows в Bash скрипт.
В "Актуализацията на създателите" 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/Program Files (x86)/Internet Explorer/iexplore.exe

Забележете "" преди знака за интервал и скоба. Тези знаци трябва да бъдат "избягали" или Баш няма да осъзнае, че знаците са част от пътя на файла.

Image
Image

Как да преминете аргумент към команда

Калъфът Bash предава аргументи директно на командите, които изпълнявате.

Например, ако искате да ping example.com, бихте изпълнили:

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

Или, ако искате да отворите файла за хостове на Windows в Notepad, ще стартирате:

/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'

Използвате стандартния път на файловете на Windows, когато предавате директно файловия път към програма за Windows. Това е така, защото Баш предава аргумента директно. Notepad.exe и други програми на Windows очакват пътека за Windows файлове.

Image
Image

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

Някои команди на Windows не са.exe файлове, а са вградени в самия команден прозорец. Например това включва

dir

командата обикновено може да се изпълнява в командния ред. За да изпълните такава команда, трябва да изпълните

cmd.exe

двоично свързан с командния ред и да го предаде командата като аргумент с / C, както е така:

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

Например, за да стартирате

dir

команда, вградена в командния ред, трябва да изпълните следната команда:

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

Image
Image

Как да добавите директории към пътя

Приложението Windows Services for Linux третира Windows изпълними файлове, подобно на начина, по който третира Linux файловете. Това означава, че можете да добавите директория, съдържаща.exe файлове в пътя и след това да изпълните тези.exe файлове директно. Например, за да добавите директорията System32 към вашия път, бихте изпълнили:

export PATH=$PATH:/mnt/c/Windows/System32

След това бихте могли да стартирате Windows.exe файлове, намиращи се директно в директорията System32, като например:

PING.exe example.com

notepad.exe

cmd.exe /C dir

Image
Image

Как да управлявате изхода на една команда към друга

Изходът на командата на Windows може да бъде прехвърлен към Linux команда и обратно. Например, можете да използвате

ipconfig.exe -all

команда, за да изведете подробности за мрежовите интерфейси и да ги насочите към Linux

grep

команда за търсене на изхода. Например, за да изведете цялата информация за връзката си и да търсите раздели, съвпадащи с "IPv4 адрес", бихте изпълнили:

/mnt/c/Windows/System32/ipconfig.exe -all | grep 'IPv4 Address'

Image
Image

Това е основният процес. Тези команди също ще работят, когато са включени в Bash скрипт, така че можете да напишете Bash скрипт, който включва както командите на Windows, така и помощните програми на Linux. Ако тя се изпълнява в Bash shell, тя ще работи в баш скрипт.

И ако искате да отидете в другата посока, можете да използвате командата "bash -c", за да стартирате командите Баш от стандартния Windows Command Prompt.

Препоръчано: