cs.phhsnews.com


cs.phhsnews.com / Jak spustit programy Windows z Bash Shell systému Windows 10

Jak spustit programy Windows z Bash Shell systému Windows 10


V aktualizaci Tvůrce Windows Bash shell nyní umožňuje spouštět binární soubory Windows a standardní příkazy Command Prompt přímo od Bash. Můžete spustit oba programy Linux a Windows ze stejného shellu Bash, nebo dokonce zahrnout příkazy systému Windows do skriptu Bash.

Co potřebujete vědět

SOUVISEJÍCÍ: Vše, co můžete dělat s Windows 10 New Bash Shell

Zde jsou některé základní informace, které potřebujete znát o této funkci:

  • Uživatelský účet : Programy spuštěné z shell Bash budou spuštěny, jako kdyby byly spuštěny aktuálním uživatelským účtem Windows
  • Oprávnění : Tyto programy budou mít stejné oprávnění jako proces Bash.exe. Takže pokud chcete, aby tyto příkazy měly přístup Administrátor, musíte spustit shell Bash jako správce.
  • Pracovní adresář : Programy Windows sdílejí stejný "pracovní adresář" jako Bash shell. Pokud tedy spustíte příkaz obsahující seznam aktuálního adresáře, zobrazí obsah aktuálního pracovního adresáře ve složce Bash. Pro změnu pracovních adresářů použijte příkazcd

Uvažujme o tom, jak spustit program.

Jak spustit program Windows

SOUVISEJÍCÍ: Jak získat přístup k souborům Ubuntu Bash v systému Windows (a systémové jednotce systému Windows v systému Bash)

Chcete-li spustit program Windows, zadejte cestu k souboru .exe programu ve složce Bash. Nezapomeňte, že vaše jednotka C: Windows je k dispozici na / mnt / c v Bash. Bashové prostředí také rozlišuje velká a malá písmena, takže musíte zadat správné použití velkých písmen.

Řekněme, že jste chtěli spustit nástroj Ping umístěný na C: Windows System32 PING.EXE. Byl byste spustit následující příkaz:

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

Následující příkaz by nefungoval, protože Bash rozlišuje velká a malá písmena:

/ mnt / c / windows /system32/ping.exe

To je trochu komplikovanější, pokud cesta obsahuje složité znaky jako mezery a závorky, například složky Program Files. Musíte "vynechat" mezery, závorky a další složité znaky jejich předponou znakem "".

Například řekněme, že chcete spustit program Internet Explorer umístěný na C: Program Files (x86) Internet Explorer iexplore.exe. V Bashu byste museli spustit následující příkaz:

/ mnt / c / Program  Files   x86  / Internet  Explorer / iexplore.exe

postavy. Tyto znaky musí být "uniklé" nebo Bash nebude realizovat, že znaky jsou součástí cesty k souboru.

Jak předat argument k příkazu

Bash shell předává argumenty přímo k příkazům, které provedete. > Například pokud chcete ping example.com spustit:

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

Nebo pokud chcete otevřít soubor hostitelů systému Windows v programu Poznámkový blok byste spustili:

/mnt/c/Windows/System32/notepad.exe "C: Windows System32 drivers etc hosts"

Při předávání cesta k souboru přímo do programu Windows. To je proto, že Bash předává argument přímo. Notepad.exe a další programy Windows očekávají cestu k souboru systému Windows.

Spuštění vestavěného příkazu

Některé příkazy systému Windows nejsou soubory typu .exe, ale jsou zabudovány do samotného příkazového řádku. Toto například obsahuje příkaz

dir, který byste normálně spustili v příkazovém řádku. Chcete-li spustit takový příkaz, musíte spustit binárnícmd.exepřidruženou k příkazovému příkazu a předat příkaz jako argument s / C, například:/ mnt / c / Windows Příkaz /System32/cmd.exe / C

Chcete-li například spustit příkaz

dirzabudovaný do příkazového řádku, spusťte následující příkaz:/ mnt / c / System32 / cmd.exe / C dir

Jak přidat adresáře do cesty

Prostředí Windows Services for Linux zpracovává spustitelné soubory systému Windows podobné způsobu, jakým binární soubory Linux pracují. To znamená, že můžete do adresáře přidat adresář obsahující soubory .exe a potom tyto soubory exe spustit přímo. Chcete-li například přidat adresář System32 do cesty, spustili byste:

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

Mohli byste spustit soubory Windows .exe umístěné ve složce System32 přímo, například:

PING.exe example.com

notepad.exe
cmd.exe / C dir
Jak přenést výstup jednoho příkazu na jiný

Výstup příkazu Windows může být pipetován na příkaz Linux a naopak. Například můžete použít příkaz

ipconfig.exe -allpro zobrazení podrobností o síťových rozhraních a potrubí do příkazu Linuxgreppro vyhledání výstupu. Chcete-li například zobrazit všechny informace o vašem připojení a hledat sekce odpovídající "Adresa IPv4", měli byste spustit:/mnt/c/Windows/System32/ipconfig.exe -all | grep "Adresa IPv4"

To je základní proces. Tyto příkazy budou také fungovat, pokud budou začleněny do skriptu Bash, takže můžete napsat Bash skript, který obsahuje jak příkazy systému Windows, tak i nástroje pro Linux. Pokud běží v Bash shellu, bude pracovat v Bash skriptu.

A chcete-li jít opačným způsobem, můžete příkaz "bash -c" spustit příkazy Bash ze standardního příkazového řádku systému Windows .


Co je to kernel_task a proč to běží na mém Macu?

Co je to kernel_task a proč to běží na mém Macu?

Takže jste v nástroji Activity Monitor zjistili něco nazvaného "kernel_task" a chcete vědět, co to je. Dobrá zpráva: není to nic zlého. Ve skutečnosti je to váš operační systém SOUVISEJÍCÍ: Co je tento proces a proč to běží na mém Macu? Tento článek je součástí našeho pokračujícího seriálu vysvětlujícího různé procesy nalezené v Activity Monitoru, jako hidd, mdsworker , installd a mnoho dalších.

(how-top)

Jak odebrat zařízení HomeKit z vašeho domovského domovského kitu společnosti Apple

Jak odebrat zařízení HomeKit z vašeho domovského domovského kitu společnosti Apple

Ať již nemáte příslušné příslušenství HomeKit, nebo je třeba jednoduše odebrat položku phantom v domě HomeKit, je to jednoduché. - pokud víte, kde hledat. Vyjměte nyní zařízení HomeKit a proveďte proces. V našem případě došlo k problému s inteligentním zámkem Schlage Sense a rozhodli jsme se ho jednoduše obnovit před jeho přidáním zpět do našeho domovského domova.

(how-top)