Wskazówki dotyczące uruchamiania programów systemu Windows 10 w powłoce WSL Linux

Podsystem Windows dla Systemu Linux łączy podział między Windows i Linux, pozwalając ludziom uruchamiać programy Windows 10 bezpośrednio w powłoce Linuksa. Jednym z mocnych punktów podsystemu Windows dla Linuksa (WSL) jest to, że użytkownicy nie tylko mogą uruchomić dystrybucję Linuksa w systemie Windows 10, ale także elastyczność uruchamiania programów Windows 10 w Systemie Linux.
Dzięki tej możliwości Linux może kontrolować funkcje systemu Windows lub dla programów Windows, aby współpracować z systemem plików WSL lub ich wyjściem przetwarzanym przez polecenia Linuksa. Co więcej, użytkownicy WSL mogą nawet tworzyć złożone skrypty powłoki, które wpływają na propagację Linuksa i mogą być również zatrudnieni do uruchamiania poleceń w systemie Windows 10.
Zarówno Windows 10, jak i Linux używają zmiennej „PATH”, która obejmuje listę folderów, które są przeszukiwane, gdy ludzie wykonują program. Jeśli spróbujesz uruchomić program i nie można go wykryć w ścieżce, zarówno Linux, jak i Windows powiedzą Ci, że nie można go znaleźć. W takich sytuacjach należy uruchomić program przy użyciu pełnej ścieżki, takiej jak „C:Notepad2Notepad.exe.”
Gdy dystrybucja WSL zostanie uruchomiona przez system Windows 10, skonfiguruje zmienną Linux PATH tak, aby zawierała standardowe foldery binarne Linuksa i zwykłą ścieżkę systemu Windows 10. Tę ścieżkę można wyświetlić, wpisując env | polecenie grep „PATH” w wierszu powłoki WSL.
Oprócz wykonywania programów do działania razem z plikami w WSL, można również przetwarzać dane wyjściowe programów Windows 10 w systemie Linux. Po uruchomieniu programu konsoli systemu Windows jego dane wyjściowe są wystawiane bezpośrednio w systemie Linux, a nie w systemie Windows. Dane wyjściowe mogą być następnie przetwarzane za pomocą programów takich jak sed, awk, sortowania itp. Na prostym przykładzie, jeśli chcemy uzyskać listę usług systemu Windows 10 posortowane według nazwy usługi, możemy użyć następującego polecenia:
sc.exe query | grep SERVICE_NAME | awk ‚{print $1=””; print $0}’ | sort -bf| sed ‚/^$/d’