Suggerimenti per eseguire programmi Windows 10 in una shell WSL Linux

Il sottosistema Windows per Linux sta collegando la divisione tra Windows e Linux consentendo alle persone di eseguire i programmi di Windows 10 direttamente all’interno di una shell Linux. Uno dei punti di forza del sottosistema Windows per Linux (WSL) è che gli utenti non solo possono eseguire una distribuzione Linux in Windows 10, ma hai anche la flessibilità di eseguire programmi Windows 10 in Linux.
Grazie a questa capacità, Linux può controllare le funzionalità di Windows o per i programmi Windows per lavorare insieme con il file system WSL o il loro output elaborato dai comandi Linux. Inoltre, gli utenti WSL possono anche creare script shell complessi che influenzano la propagazione Linux e possono anche essere utilizzati per eseguire comandi in Windows 10.
Sia Windows 10 che Linux utilizzano una variabile ‘PATH’ che coinvolge un elenco di cartelle in cui viene eseguita la ricerca quando gli utenti eseguono un programma. Se si tenta di avviare un programma e non può essere rilevato nel PATH, sia Linux e Windows vi dirà che il programma non può essere trovato. In tali situazioni, è necessario eseguire il programma utilizzando il relativo percorso completo, ad esempio “C:”Notepad2″Notepad.exe”.
Quando una distribuzione WSL viene avviata da Windows 10, configurerà la variabile Linux PATH per includere le cartelle binarie Linux standard e il normale percorso di Windows 10. Questo percorso può essere visualizzato digitando l’env grep “PATH” al prompt della shell WSL.
Oltre a eseguire programmi per agire insieme ai file in WSL, è anche possibile elaborare l’output dei programmi di Windows 10 in Linux. Quando viene avviato un programma console di Windows, il suo output viene visualizzato direttamente in Linux anziché in Windows. Questo output può quindi essere elaborato utilizzando programmi come sed, awk, sort, ecc. Come semplice esempio, se volessi ottenere un elenco di servizi di Windows 10 ordinati in base al nome del servizio, potremmo usare il seguente comando:
sc.exe query | grep SERVICE_NAME | awk ‘{print $1=””; print $0}’ | sort -bf| sed ‘/^$/d’