it.phhsnews.com


it.phhsnews.com / Come eseguire programmi Windows da Bash Shell di Windows 10

Come eseguire programmi Windows da Bash Shell di Windows 10


Nell'aggiornamento dei creativi, la shell Bash di Windows 10 ora consente di eseguire i binari di Windows ei comandi del prompt dei comandi standard direttamente da Bash. Puoi eseguire entrambi i programmi Linux e Windows dalla stessa shell di Bash, o anche incorporare i comandi di Windows in uno script Bash.

Cosa devi sapere

CORRELATO: Tutto ciò che puoi fare con la nuova shell Bash di Windows 10

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

  • Account utente : i programmi lanciati dalla shell Bash verranno eseguiti come se fossero stati lanciati dall'account utente Windows corrente.
  • Autorizzazioni : 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 comandocdper modificare le directory di lavoro.

Tenendo presente ciò, diamo un'occhiata a come eseguire un programma.

Come eseguire un programma Windows

CORRELATO: Come accedere ai file Bash di Ubuntu in Windows (e all'unità di sistema di Windows in Bash)

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. L'ambiente di Bash è anche sensibile al maiuscolo / minuscolo, quindi devi specificare la corretta maiuscola.

Supponiamo di volere avviare l'utilità Ping in C: Windows System32 PING.EXE. Dovresti eseguire il seguente comando:

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

Il comando seguente non funzionerebbe, perché Bash fa distinzione tra maiuscole e minuscole:

/ 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 "".

Ad esempio, supponiamo che tu voglia eseguire il programma di Internet Explorer che si trova in C: Programmi (x86) Internet Explorer iexplore.exe. Dovresti eseguire il seguente comando in Bash:

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

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

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 si desidera aprire il file degli host di Windows nel Blocco note, eseguire:

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

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

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 comandodirche potresti eseguire normalmente in un prompt dei comandi. Per eseguire tale comando, è necessario eseguire il binariocmd.exeassociato al prompt dei comandi e passarlo come argomento con / C, in questo modo:

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

Ad esempio, per eseguire il comandodirincorporato nel prompt dei comandi, eseguire il seguente comando:

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

Come aggiungere directory al percorso

L'ambiente Windows Services per Linux tratta gli eseguibili di Windows in modo simile al modo in cui tratta i file 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 percorso, eseguire:

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

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

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

Come convogliare l'output di un comando in un altro

L'output di un comando di Windows può essere inviato a un comando Linux e viceversa. Ad esempio, è possibile utilizzare il comandoipconfig.exe -allper elencare i dettagli sulle interfacce di rete e collegarlo al comandogrepper cercare l'output. Ad esempio, per elencare tutte le informazioni sulla connessione e cercare le sezioni corrispondenti a "Indirizzo IPv4", eseguire:

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

Questa è la procedura di base. Questi comandi funzioneranno 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 si desidera passare dall'altra parte, è possibile utilizzare il comando "bash -c" per eseguire i comandi di Bash dal prompt dei comandi standard di Windows. .


Showdown Box Streaming: Apple TV vs Roku vs Amazon Fire TV vs Chromecast contro Android TV

Showdown Box Streaming: Apple TV vs Roku vs Amazon Fire TV vs Chromecast contro Android TV

Non è un segreto che le TV "intelligenti" non siano così intelligenti. Generalmente, e una scatola di streaming dedicata o un bastone è la strada da percorrere. Ce ne sono alcuni tra cui scegliere, quindi come decidi qual è il migliore per le tue esigenze di visione dei film? I contendenti Ci sono cinque grandi nomi in questo gioco: Amazon Fire TV (e Fire TV stick), Google Chromecast, Apple TV, le varie caselle di Roku e Android TV (che è più una piattaforma completa di Chromecast, anche se sono entrambi Google).

(how-top)

Come trovare e iscriversi ai calendari per qualsiasi cosa con iCalShare

Come trovare e iscriversi ai calendari per qualsiasi cosa con iCalShare

Migliaia di cose accadono ogni giorno. Il tuo anniversario di matrimonio, i giochi locali di hockey sul ghiaccio, i compleanni, le uscite cinematografiche, le festività nazionali ... la lista continua. Tenere traccia dei pochi eletti che sono rilevanti per te è difficile. Ecco perché utilizziamo i calendari.

(how-top)