Как да стартирате Windows програми от Bash Shell на Windows 10
В Актуализация на създателите , Bash обвивка на Windows 10 сега ви позволява да стартирате двоични файлове на Windows и стандартни команди на командния ред, направо от Bash. Можете да стартирате както Linux, така и Windows програми от една и съща Bash обвивка или дори да включите Windows команди в Bash скрипт.
Какво трябва да знаете
СВЪРЗАНИ: Всичко, което можете да правите с новата Bash Shell на Windows 10
Ето някои основни подробности, които трябва да знаете за тази функция:
- & rsaquo; Всичко, което можете да правите с новата Bash Shell на Windows 10
- › Как да намерите своя Spotify Wrapped 2021
- › Компютърната папка е 40: Как Xerox Star създаде работния плот
- › Функции срещу формули в Microsoft Excel: Каква е разликата?
- › 5 уебсайта, които всеки потребител на Linux трябва да направи отметка
- › Какво представлява MIL-SPEC защита от изпускане?
- & rsaquo; Кибер понеделник 2021: Най-добрите технологични сделки
Имайки това предвид, нека да разгледаме как да стартирате програма.
Как да стартирате програма за Windows
За да стартирате програма за Windows, въведете пътя до .exe файла на програмата в обвивката на Bash. Не забравяйте, че вашето Windows C: устройство е наличен в /mnt/c в Bash . Средата Bash също е чувствителна към главните букви, така че трябва да посочите правилното изписване с главни букви.
Да приемем, че искате да стартирате помощната програма Ping, намираща се в C:WindowsSystem32PING.EXE. Ще изпълните следната команда:
cd
Следната команда няма да работи, защото Bash е чувствителен към малки и големи букви:
dir
Реклама
Това е малко по-сложно, ако пътят съдържа сложни знаци като интервали и скоби, като папките с програмни файлове. Трябва да избягвате интервали, скоби и други сложни знаци, като им поставите префикс със символ .
Например, да приемем, че искате да стартирате програмата Internet Explorer, намираща се в C:Program Files (x86)Internet Exploreriexplore.exe. Трябва да изпълните следната команда в Bash:
cmd.exe
Обърнете внимание на символа преди интервала и скоби. Тези знаци трябва да бъдат екранирани или Bash няма да разбере, че знаците са част от пътеката на файла.
Как да предадете аргумент на команда
Обвивката на Bash предава аргументи директно на командите, които изпълнявате.
Например, ако искате да пингувате example.com, трябва да изпълните:
dir
Или, ако искате да отворите файла с хостове на Windows в Notepad, трябва да изпълните:
ipconfig.exe -all
Използвате стандартния път на файла на Windows, когато предавате път на файл директно към програма за Windows. Това е така, защото Bash предава аргумента директно. Notepad.exe и други програми за Windows очакват път към файла на Windows.
Как да стартирате вградена команда
Някои команди на Windows не са .exe файлове, но са вградени в самия команден ред. Например, това включва |_+_| команда, която обикновено може да изпълнявате в командния ред. За да изпълните такава команда, трябва да изпълните |_+_| двоичен файл, свързан с командния ред и му предайте командата като аргумент с /C, така:
grep
Реклама Например, за да изпълните командата |_+_|, вградена в командния ред, трябва да изпълните следната команда:
/mnt/c/Windows/System32/PING.EXE
Как да добавяте директории към пътя
Средата Windows Services за Linux третира изпълними файлове на Windows подобно на начина, по който третира двоичните файлове на Linux. Това означава, че можете да добавите директория, съдържаща .exe файлове към пътя и след това да изпълните тези .exe файлове директно. Например, за да добавите директорията System32 към вашия път, трябва да изпълните:
/mnt/c/windows/system32/ping.exe
След това можете да стартирате Windows .exe файлове, разположени директно в папката System32, както следва:
/mnt/c/Program Files (x86)/Internet Explorer/iexplore.exe
/mnt/c/Windows/System32/PING.EXE example.com
/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'
Как да прехвърлите изхода на една команда към друга
Резултатът от команда на Windows може да бъде тръбен към команда на Linux и обратно. Например, можете да използвате командата |_+_|, за да изброите подробности за вашите мрежови интерфейси и да ги изпратите към Linux |_+_| команда за търсене на изхода. Например, за да изброите цялата информация за вашата връзка и да търсите секции, съответстващи на IPv4 адрес, трябва да изпълните:
/mnt/c/Windows/System32/cmd.exe /C command
Реклама
Това е основният процес. Тези команди също ще работят, когато са включени в Bash скрипт, така че можете напишете Bash скрипт който включва както команди на Windows, така и помощни програми за Linux. Ако работи в обвивката на Bash, ще работи в Bash скрипт.
И ако искате да отидете по другия път, можете използвайте командата bash -c за да стартирате Bash команди от стандартния команден ред на Windows.
СВЪРЗАНИ: Как да създадете и стартирате Bash Shell скриптове на Windows 10
ПРОЧЕТЕТЕ СЛЕДВАЩОКрис Хофман е главен редактор на How-To Geek. Той пише за технологиите повече от десетилетие и е бил колумнист на PCWorld в продължение на две години. Крис е писал за The New York Times, интервюиран е като технологичен експерт в телевизионни станции като NBC 6 в Маями и работата му е отразявана от новинарски издания като BBC. От 2011 г. Крис е написал над 2000 статии, които са прочетени близо един милиард пъти --- и това е само тук, в How-To Geek.
Прочетете пълната биография