Come eseguire programmi Windows dalla shell Bash di Windows 10

Sommario:

Come eseguire programmi Windows dalla shell Bash di Windows 10
Come eseguire programmi Windows dalla shell Bash di Windows 10

Video: Come eseguire programmi Windows dalla shell Bash di Windows 10

Video: Come eseguire programmi Windows dalla shell Bash di Windows 10
Video: CREARE COLLEGAMENTI DI PAGINE WEB SU DESKTOP IN 3 MODI !! - YouTube 2024, Aprile
Anonim
Nell'aggiornamento dei creativi, la shell Bash di Windows 10 ora consente di eseguire i binari di Windows e i comandi del prompt dei comandi standard direttamente da Bash. Puoi eseguire entrambi i programmi Linux e Windows dalla stessa shell di Bash o persino incorporare i comandi di Windows in uno script Bash.
Nell'aggiornamento dei creativi, la shell Bash di Windows 10 ora consente di eseguire i binari di Windows e i comandi del prompt dei comandi standard direttamente da Bash. Puoi eseguire entrambi i programmi Linux e Windows dalla stessa shell di Bash o persino incorporare i comandi di Windows in uno script Bash.

Cosa hai bisogno di sapere

Ecco alcuni dettagli di base che devi conoscere su questa funzione:

  • Account utente: I programmi lanciati dalla shell Bash verranno eseguiti come se fossero lanciati dall'account utente di Windows corrente.
  • permessi: Questi programmi avranno le stesse autorizzazioni del processo Bash.exe. Quindi, se vuoi che questi comandi abbiano accesso come amministratore, dovrai eseguire la shell Bash come amministratore.
  • Directory di lavoro: I programmi Windows condividono la stessa "directory di lavoro" della shell Bash. Quindi, se si esegue un comando che elenca i contenuti della directory corrente, verrà elencato il contenuto della directory di lavoro corrente nella shell Bash. Utilizzare il

    cd

    comando per cambiare le directory di lavoro.

Con questo in mente, diamo un'occhiata a come eseguire un programma.

Come eseguire un programma Windows

Per eseguire un programma Windows, immettere il percorso del file.exe del programma nella shell Bash. Ricorda che l'unità Windows C: è disponibile in / mnt / c in Bash. Anche l'ambiente Bash è sensibile al maiuscolo / minuscolo, pertanto è necessario specificare la maiuscola corretta.

Diciamo che volevi lanciare l'utilità Ping che si trova in C: Windows System32 PING.EXE. Dovresti eseguire il seguente comando:

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

Il seguente comando non funzionerebbe, perché Bash è case-sensitive:

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

Questo è un po 'più complicato se il percorso contiene caratteri complessi come spazi e parentesi, come le cartelle Programmi. Devi "scappare" spazi, parentesi e altri caratteri complessi anteponendoli con un carattere "".
Questo è un po 'più complicato se il percorso contiene caratteri complessi come spazi e parentesi, come le cartelle Programmi. Devi "scappare" spazi, parentesi e altri caratteri complessi anteponendoli con un carattere "".

Ad esempio, supponiamo di voler eseguire il programma Internet Explorer situato in C: Programmi (x86) Internet Explorer iexplore.exe. Dovresti eseguire il seguente comando in Bash:

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

Nota "" prima dei caratteri spazio e parentesi. Questi caratteri devono essere "scappati" o Bash non realizzerà che i caratteri fanno parte di un percorso di file.

Image
Image

Come passare un argomento a un comando

La shell Bash passa gli argomenti direttamente ai comandi che esegui.

Ad esempio, se si desidera eseguire ping su example.com, eseguire:

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

Oppure, se volessi aprire il file degli host Windows nel Blocco note, eseguiresti:

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

Si utilizza il percorso file standard di Windows quando si passa un percorso file direttamente a un programma Windows. Questo perché Bash passa direttamente l'argomento. Notepad.exe e altri programmi Windows si aspettano un percorso di file di Windows.

Image
Image

Come eseguire un comando incorporato

Alcuni comandi di Windows non sono file.exe, ma sono incorporati nel prompt dei comandi stesso. Ad esempio, questo include il

dir

comando normalmente eseguito in un prompt dei comandi. Per eseguire tale comando, è necessario eseguire il

cmd.exe

binario associato al prompt dei comandi e passare il comando come argomento con / C, in questo modo:

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

Ad esempio, per eseguire il

dir

comando incorporato nel prompt dei comandi, eseguire il seguente comando:

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

Image
Image

Come aggiungere le directory al percorso

L'ambiente Windows Services per Linux tratta gli eseguibili di Windows in modo simile al modo in cui tratta i binari di Linux. Ciò significa che è possibile aggiungere una directory contenente file.exe al percorso e quindi eseguire direttamente tali file.exe. Ad esempio, per aggiungere la directory System32 al tuo percorso, devi eseguire:

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

È quindi possibile eseguire direttamente i file.exe di Windows che si trovano nella cartella System32, in questo modo:

PING.exe example.com

notepad.exe

cmd.exe /C dir

Image
Image

Come convogliare l'output di un comando ad un altro

L'output di un comando Windows può essere reindirizzato a un comando Linux e viceversa. Ad esempio, puoi usare il

ipconfig.exe -all

comando per elencare i dettagli sulle interfacce di rete e collegarlo a Linux

grep

comando per cercare l'output. Ad esempio, per elencare tutte le informazioni sulla tua connessione e cercare le sezioni che corrispondono a "Indirizzo IPv4", devi eseguire:

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

Questa è la procedura di base. Questi comandi funzionano anche se incorporati in uno script Bash, quindi puoi scrivere uno script Bash che incorpori sia i comandi di Windows che le utilità di Linux. Se viene eseguito nella shell Bash, funzionerà in uno script Bash.
Questa è la procedura di base. Questi comandi funzionano anche se incorporati in uno script Bash, quindi puoi scrivere uno script Bash che incorpori sia i comandi di Windows che le utilità di Linux. Se viene eseguito nella shell Bash, funzionerà in uno script Bash.

E, se vuoi andare dall'altra parte, puoi usare il comando "bash -c" per eseguire i comandi di Bash dal Prompt dei comandi standard di Windows.

Consigliato: