nl.phhsnews.com


nl.phhsnews.com / Windows-programma's uitvoeren vanuit de Bash Shell

Windows-programma's uitvoeren vanuit de Bash Shell


In de Creators Update kunt u met de Bash-shell van Windows 10 nu Windows-binaire bestanden en standaard opdrachtpromptopdrachten uitvoeren, rechtstreeks vanuit Bash. Je kunt zowel Linux- als Windows-programma's uitvoeren vanuit dezelfde Bash-shell, of zelfs Windows-opdrachten opnemen in een Bash-script.

Wat je moet weten

GERELATEERD: Alles wat je kunt doen met de nieuwe Bash Shell van Windows 10

Hier zijn enkele basisgegevens die u moet weten over deze functie:

  • Gebruikersaccount : programma's die vanuit de Bash-shell worden gestart, worden uitgevoerd alsof ze zijn gestart door het huidige Windows-gebruikersaccount.
  • Machtigingen : deze programma's hebben dezelfde rechten als het proces Bash.exe. Dus als u wilt dat deze opdrachten beheerdersrechten hebben, moet u de Bash-shell uitvoeren als beheerder.
  • Werkdirectory : Windows-programma's delen dezelfde "werkdirectory" als de Bash-shell. Als u dus een opdracht uitvoert met de inhoud van de huidige map, wordt de inhoud van de huidige werkdirectory in de Bash-shell weergegeven. Gebruik de opdrachtcdom werkmappen te wijzigen.

Laten we daarom eens kijken hoe een programma moet worden uitgevoerd.

Een Windows-programma uitvoeren

GERELATEERD: Toegang verkrijgen tot uw Ubuntu Bash-bestanden in Windows (en uw Windows-systeemstation voor onbepaalde tijd)

Om een ​​Windows-programma uit te voeren, voert u het pad naar het .exe-bestand van het programma in de Bash-shell in. Vergeet niet dat je Windows C: -drive beschikbaar is in / mnt / c in Bash. De Bash-omgeving is ook hoofdlettergevoelig, dus u moet het juiste hoofdlettergebruik opgeven.

Stel dat u het hulpprogramma Ping op C: Windows System32 PING.EXE wilt starten. U voert de volgende opdracht uit:

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

De volgende opdracht zou niet werken, omdat Bash hoofdlettergevoelig is:

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

Dit is een beetje ingewikkelder als het pad complexe tekens bevat zoals spaties en haakjes, zoals de map Program Files. Je moet "ontsnappen" aan spaties, haakjes en andere complexe tekens door ze vooraf te plaatsen met een "" -teken. Bijvoorbeeld, laten we zeggen dat je het programma Internet Explorer in C: Program Files (x86) wilde uitvoeren Internet Explorer iexplore.exe. Je zou de volgende opdracht moeten uitvoeren in Bash:

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

Let op de "" voor de spatie en haakjes karakters. Deze tekens moeten "ontsnapt" zijn of Bash realiseert zich niet dat de tekens deel uitmaken van een bestandspad.

Een argument doorgeven aan een opdracht

De basishoed geeft argumenten rechtstreeks door aan de opdrachten die u uitvoert

Als u bijvoorbeeld example.com wilt pingen, voert u het volgende uit:

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

Of als u het Windows-hosts-bestand wilt openen in Kladblok zou u het volgende uitvoeren:

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

U gebruikt het standaard Windows-bestandspad bij het passeren van een bestandspad rechtstreeks naar een Windows-programma. Dat komt omdat Bash het argument rechtstreeks doorgeeft. Notepad.exe en andere Windows-programma's verwachten een Windows-bestandspad.

Een ingebouwd commando uitvoeren

Sommige Windows-opdrachten zijn geen .exe-bestanden, maar zijn ingebouwd in de opdrachtprompt zelf. Dit omvat bijvoorbeeld de opdracht

dirdie u normaal gesproken kunt uitvoeren in een opdrachtprompt. Als u zo'n opdracht wilt uitvoeren, moet u hetcmd.exe-binaire bestand dat aan de opdrachtprompt is gekoppeld, uitvoeren en het als argument doorgeven met / C, zoals dit:/ mnt / c / Windows /System32/cmd.exe / C-opdracht

Om de

dir-opdracht die is ingebouwd in de opdrachtprompt uit te voeren, voert u de volgende opdracht uit:/ mnt / c / Windows / System32 / cmd.exe / C dir

Hoe mappen aan het pad toe te voegen

De Windows Services voor Linux-omgeving behandelt Windows-uitvoerbare bestanden vergelijkbaar met de manier waarop het Linux-binaries behandelt. Dit betekent dat u een map met .exe-bestanden aan het pad kunt toevoegen en die .exe-bestanden dan rechtstreeks kunt uitvoeren. Als u bijvoorbeeld de map System32 aan uw pad wilt toevoegen, voert u het volgende uit:

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

U kunt dan Windows .exe-bestanden rechtstreeks in de System32-map uitvoeren, zoals:

PING.exe example.com

notepad.exe
cmd.exe / C dir
De uitvoer van de ene opdracht naar de andere pipen

De uitvoer van een Windows-opdracht kan worden doorgestuurd naar een Linux-opdracht en omgekeerd. U kunt bijvoorbeeld de opdracht

ipconfig.exe -allgebruiken om details over uw netwerkinterfaces weer te geven en deze naar de opdracht Linuxgrepte sturen om de uitvoer te zoeken. Als u bijvoorbeeld alle informatie over uw verbinding wilt weergeven en wilt zoeken naar secties die overeenkomen met "IPv4-adres", voert u het volgende uit:/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4-adres"

Dat is het basisproces. Deze commando's zullen ook werken wanneer ze zijn opgenomen in een Bash-script, zodat je een Bash-script kunt schrijven dat zowel Windows-opdrachten als Linux-hulpprogramma's bevat. Als het in de Bash-shell wordt uitgevoerd, werkt het in een Bash-script.

En als u de andere kant op wilt, kunt u de opdracht "bash -c" gebruiken om Bash-opdrachten uit te voeren vanaf de standaard Windows Command Prompt .


Moet u een 'Ultra HD' 4K TV krijgen?

Moet u een 'Ultra HD' 4K TV krijgen?

Door een willekeurige elektronische showroom lopen en de meeste tv's die u ziet, zijn een of andere vorm van 'Ultra HD' 4K. Er zijn veel modellen beschikbaar en ze zijn goedkoper dan ooit. Maar zou u er een kopen? Wel, waarschijnlijk, maar haast u niet. 4K is een verbetering, maar HDR is nog beter Anders dan 3D-tv's, gebogen tv's en smart-tv's is 4K niet genoeg Het is een gimmick, het biedt een duidelijk en duidelijk voordeel ten opzichte van zijn normale HD-tegenhangers.

(how-top)

Hoe u Google Home een geluid laat maken wanneer u zegt 'OK, Google'

Hoe u Google Home een geluid laat maken wanneer u zegt 'OK, Google'

Google Home is meestal redelijk goed in het herkennen wanneer u hiermee praat, maar soms mislukt het. Google Home toont standaard kleurrijke lichten wanneer u deze activeert, maar als u wilt dat deze ook een geluid maakt, kunt u dat doen. Deze lampen zijn handig, maar u kunt ze niet vanuit elke hoek bekijken , of als je druk bezig bent naar iets anders te kijken.

(how-top)