sv.phhsnews.com


sv.phhsnews.com / Så här kör du Windows-program från Windows 10: s Bash Shell

Så här kör du Windows-program från Windows 10: s Bash Shell


I skaptuppdateringen kan Windows 10: s Bash-skal nu köra Windows-binärer och standardkommandonkommandon, direkt från Bash. Du kan köra både Linux- och Windows-program från samma Bash-skal eller till och med integrera Windows-kommandon i ett Bash-skript.

Vad du behöver veta

RELATED: Allt du kan göra med Windows 10: s nya bashals

Här följer några grundläggande detaljer som du behöver veta om den här funktionen:

  • Användarkonto : Program som startas från Bash-skalet körs som om de lanserades av det nuvarande Windows-användarkontot.
  • Tillstånd : Dessa program har samma behörigheter som Bash.exe-processen. Så, om du vill att dessa kommandon ska ha administratörsbehörighet måste du köra Bash-skalet som administratör.
  • Arbetsregister : Windows-program delar samma "arbetsregister" som Bash-skalet. Så om du kör ett kommando som listar innehållet i den aktuella katalogen, kommer det att lista innehållet i den aktuella arbetsmappen i Bash-skalet. Använd kommandotcdför att ändra arbetskataloger.

Låt oss ta en titt på hur man kör ett program.

Så här kör du ett Windows-program

RELATED: Så här får du tillgång till dina Ubuntu Bash-filer i Windows (och din Windows System Drive i Bash)

För att köra ett Windows-program, ange sökvägen till programmets .exe-fil i Bash-skalet. Kom ihåg att din Windows C: -drivenhet är tillgänglig på / mnt / c i Bash. Bash-miljön är också skiftlägeskänslig, så du måste ange rätt kapitalisering.

Låt oss säga att du ville starta Ping-verktyget på C: Windows System32 PING.EXE. Du skulle köra följande kommando:

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

Följande kommando skulle inte fungera, eftersom Bash är skiftlägeskänsligt: ​​

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

Detta är lite mer komplicerat om sökvägen innehåller komplexa tecken som mellanslag och parentes, som programfilerna. Du måste "rymma" utrymmen, parenteser och andra komplexa tecken genom att prefixa dem med ett "" tecken.

Låt oss säga att du vill köra Internet Explorer-programmet som finns i C: Program Files (x86) Internet Explorer iexplore.exe. Du måste springa följande kommando i Bash:

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

Notera "" före utrymmet och fästet tecken. Dessa tecken måste vara "rymda" eller Bash kommer inte inse att tecknen är en del av en filväg.

Hur man skickar ett argument till ett kommando

Bash-skalet skickar argument direkt till de kommandon du kör.

Om du till exempel vill ping example.com kör du:

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

Eller om du vill öppna Windows hosts-filen i anteckningsblock kör du:

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

Du använder den vanliga Windows-filvägen när du passerar en filväg direkt till ett Windows-program. Det beror på att Bash skickar argumentet direkt. Notepad.exe och andra Windows-program förväntar sig en Windows-filväg.

Så här kör ett inbyggt kommando

Vissa Windows-kommandon är inte .exe-filer, men är inbyggda i kommandotolkningen. Till exempel inkluderar detta kommandotdirsom du normalt kan köra i en kommandotolk. För att köra ett sådant kommando måste du köracmd.exebinärt förknippat med kommandotolken och skicka det kommandot som ett argument med / C, som så:

/ mnt / c / Windows /System32/cmd.exe / C-kommandot

Om du vill köra kommandotdirsom är inbyggt i kommandotolken, kör du följande kommando:

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

Så här lägger du till kataloger på sökvägen

I Windows Services för Linux-miljö behandlas Windows-körningar som liknar hur det behandlar Linux-binärer. Det betyder att du kan lägga till en katalog med .exe-filer till sökvägen och sedan exekvera dem .exe-filer direkt. Om du till exempel lägger till System32-katalogen till din sökväg kör du:

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

Du kan sedan köra Windows .exe-filer som finns i mappen System32 direkt, så här:

PING.exe example.com
notepad.exe
cmd.exe / C dir

Hur man rör ut en kommando till en annan

Utmatningen från ett Windows-kommando kan ledas till ett Linux-kommando och vice versa. Du kan till exempel använda kommandotipconfig.exe -allför att lista detaljer om dina nätverksgränssnitt och leda det till kommandot Linuxgrepför att söka utmatningen. Om du till exempel vill lista information om din anslutning och söka efter avsnitt som matchar "IPv4-adress", kör du:

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

Det är den grundläggande processen. Dessa kommandon kommer också att fungera när de ingår i ett Bash-skript, så att du kan skriva ett Bash-skript som innehåller både Windows-kommandon och Linux-verktyg. Om det körs i Bash-skalet fungerar det i ett Bash-skript.

Och om du vill gå tvärtom kan du använda kommandot "bash -c" för att köra Bash-kommandon från standard Windows Command Prompt .


Amazon Echo tänds när det är aktiverat, men om din inte ligger inom din synfält kan du göra en ljud när du säger

Amazon Echo tänds när det är aktiverat, men om din inte ligger inom din synfält kan du göra en ljud när du säger "Alexa"

Som standard ger Echo inte någon form av ljudsignal före eller efter att du ger kommandon. Det är en av de saker som är väldigt användbar, men (av någon anledning) är det någonsin begravd i Alexa-appen. Börja med att öppna Alexa-appen på din telefon och tryck på menyknappen i topp- Klicka på "Inställningar".

(how-top)

Vad är cfprefsd och varför går det på min Mac?

Vad är cfprefsd och varför går det på min Mac?

Du bläddrar Activity Monitor när du märker något som heter cfprefsd. Vad är detta, och borde du vara orolig över det? Snabbt svar: Nej, cfpresfd är en kärna del av MacOS, och du kunde inte använda din dator utan den. RELATED: Vad är det här Processen och varför körs den på min Mac? Den här artikeln är en del av vår pågående serie som förklarar olika processer som finns i Activity Monitor, som kernel_task, hidd, mdsworker, installd, WindowServer, blued, launchd, backup, opendirectoryd, powerd, coreauthd, configd, mdnsresponder, UserEventAgent, nsurlstoraged, handel, föräldrakontroll, sandboxd, cloudd och många andra.

(how-top)