podczas kompilacji 2016 Microsoft wprowadził na świat Podsystem Windows dla Linuksa (Beta), który umożliwia programistom uruchamianie natywnych binariów konsoli użytkownika Ubuntu za pomocą powłoki Bash w systemie Windows 10. Jeśli korzystasz z programu Windows Insider, miałeś okazję wypróbować tę funkcję przy użyciu najnowszych kompilacji Windows Anniversary Update Insider.
twórcy stron internetowych są przyzwyczajeni do podejmowania trudnych decyzji, na jakich narzędziach i bibliotekach mogą korzystać w oparciu o system operacyjny, nad którym aktywnie pracują. WSL został zaprojektowany i zbudowany przez zespół jądra systemu Windows i dostarczony we współpracy z firmą Canonical, aby pomóc programistom systemu Windows 10 korzystać z bogatego ekosystemu programistów Linuksa i narzędzi obok wspaniałych narzędzi, których już używają w systemie Windows, bez konieczności uruchamiania systemu operacyjnego lub maszyny wirtualnej. Jest to zdecydowanie funkcja” przez programistów, dla programistów ” systemu Windows 10, specjalnie zaprojektowana, aby usunąć trochę tarcia z codziennego przepływu pracy programistów.
w tym poście pokażę Ci kilka funkcji WSL, które osobiście uważam za bardzo interesujące, a także wskażę ci zasoby, które pomogą Ci dowiedzieć się więcej. Najpierw pokażę integrację podstawowych poleceń, takich jak ssh, do pracy z serwerami i urządzeniami Linux. Po drugie, zademonstruję możliwość korzystania ze skryptów Bash do automatyzacji zadań w bardzo naturalny sposób. Po trzecie, będę miał trochę zabawy ze wspaniałymi kompilatorami linii poleceń, innymi narzędziami i oferowaną kompatybilnością *nix, i zagram trochę NetHack. Na koniec pokażę Ci możliwość korzystania z istniejącego Pythona i innych skryptów dostępnych w Internecie.
Windows jest moim podstawowym systemem operacyjnym i środowiskiem programistycznym, i został od Windows 3.0 na moim pierwszym 286. Niemniej jednak, zawsze miałem serwery Linux lub urządzenia kopanie wokół mojego miejsca. Od urządzeń IoT, takich jak Raspberry Pi i dedykowanych urządzeń router/brama do Serwerów Minecraft, mają tendencję do zbierania na półkach i rogach w moim biurze. Jedną rzeczą, którą zawsze muszę zrobić, to łatwo zarządzać i konfigurować te komputery z Linuksem z mojej głównej stacji roboczej.
zarządzanie serwerami i urządzeniami
obecnie prowadzę bezgłowy serwer Ubuntu Minecraft z mojego domu. To był mój świąteczny prezent dla mojego 10-letniego syna w ubiegłym roku, ale okazało się, że to moja zabawka tak samo jak jego (ok, bardziej moja zabawka). Kiedyś używałem kilku aplikacji klienckich do zarządzania nim z mojego podstawowego komputera z systemem Windows 10, ale teraz po prostu używam wiersza poleceń ssh z poziomu Bash w systemie Windows 10. Korzystanie z aplikacji takich jak PuTTY i Tera Term są oczywiście w porządku, podobnie jak korzystanie z świetnych narzędzi, które pochodzą z Cygwin, ale chciałem prawdziwie rodzimych i naturalnych doświadczeń, które po prostu płynęły dobrze. Cygwin zawsze czuł się dla mnie trochę jak zamawianie smażenia w pizzerii. Było w porządku, ale egzekucja nie była odpowiednia dla środowiska.
mam pary klucza publicznego / prywatnego skonfigurowane za pomocą ssh-keygen i SSH-copy-id z WSL, więc na ssh po prostu wpisuję:
$ SSH <nazwa użytkownika ><serwer>
utworzyłem alias, który sprawia, że jest to szybsze. Jest to standardowa funkcja Linux/Bash:
$ alias mc=’SSH <użytkownik><serwer>’
teraz, aby dostać się do serwera Minecraft po prostu wpisać „MC” w monicie bash w systemie Windows 10.
to samo podejście działa oczywiście z dowolnymi serwerami internetowymi lub bazodanowymi z systemem Linux, a nawet z Raspberry Pi i podobnymi urządzeniami IoT, których możesz używać jako części swojego rozwiązania.
możliwość czystego zabezpieczenia powłoki z monitu konsoli jest tylko wygodą i preferencją. Jednak, gdy przyzwyczaisz się do pracy bezpośrednio w powłoce, w pełnym środowisku, które obejmuje zszywki, takie jak apt, node, Ruby, Python i inne, otwierasz różne możliwości automatyzacji.
zdalne Skrypty
Załóżmy, że masz całą masę urządzeń lub serwerów Linuksowych i chcesz wykonać na nich zdalne polecenie. Zakładając, że już skonfigurowałeś pary kluczy publiczny/prywatny, możesz po prostu wykonać zdalne polecenia ssh z Bash.
na przykład, aby zobaczyć, kiedy ostatni czas restartu był na zdalnym serwerze, wpisz ten:
$ SSH<użytkownik><serwer> 'last-x|grep reboot’
który zabezpiecza powłoki do serwer i wykonuje polecenie Last-X i wyszukuje wiersze zawierające słowo „Reboot.”Kiedy uruchamiam go na moim serwerze Ubuntu Minecraft, otrzymuję ten wynik:
restart systemu boot 4.4.0-28-generic czw 7 lip 08:14 nadal działa
To jest pojedynczy serwer. Jeśli masz listę serwerów, możesz zautomatyzować również tę część. Utworzyłem plik o nazwie servers.txt w moim katalogu domowym na WSL. Zawiera kilka nazw serwerów/urządzeń Linuksowych-po jednej na linię. Następnie odczytałem ten plik ze skryptu, który stworzyłem w moim katalogu domowym na WSL.
Po latach pracy z urządzeniami takimi jak Raspberry Pi, jestem typem nano (na maszynach wirtualnych byłem osobą z LSEdit), więc tak wygląda skrypt w moim ulubionym edytorze konsoli:
możesz oczywiście użyć Vima lub Emacsa lub dowolnego innego edytora, który działa w sesji konsoli Ubuntu.
używanym językiem jest skrypt Bash (zwany także skryptem powłoki Bash). Aby wykonać skrypt, po prostu wpisuję:
$. /foreachserver.sh 'last-x/grep reboot’
i będzie on iterował nad każdym serwerem / urządzeniem w pliku i wykona to polecenie zdalnie przez ssh. Jest to oczywiście bardzo prosty przykład, ale można rozszerzyć przekierowanie w lokalnych skryptach lub innych przydatnych poleceniach. Język skryptowy Bash jest na tyle bogaty, że można wykonać większość zdalnych zadań administracyjnych za pomocą niego. Możesz również rozszerzyć go o inne aplikacje, które pobierasz na WSL lub komputery zdalne.
Co zrobić, jeśli chcesz korzystać z lokalnych plików i zasobów systemu Windows w przepływie pracy z innymi komputerami z systemem Linux? A co jeśli w ogóle nie używasz Linuksa? Czy Bash jest zdolny do pracy z lokalnymi plikami i zasobami systemu Windows, czy jest to całkowicie odizolowane środowisko?
praca z plikami Windows
WSL ma dostęp do systemu plików komputera poprzez/mnt/<litera dysku> / katalogi (lub punkty montowania). Na przykład katalogi główne C: i D: w systemie Windows będą dostępne przez odpowiednio / mnt/C/ i/mnt/ d / w WSL. Może to być przydatne, gdy chcesz włączyć pliki projektu systemu Windows, pliki do pobrania lub inne pliki do przepływu pracy w systemie Linux/Bash.
te mapy do SSD i napędu mechanicznego, które mam na komputerze:
są to logiczne montowania, więc obecnie nie pojawiają się podczas używania poleceń takich jak montowanie w powłoce. Ale działają tak, jak można się tego spodziewać. Na przykład w systemie Windows umieściłem plik tekstowy o nazwie test.txt w korzeniu mojego dysku C. Mogę uzyskać do niego dostęp z WSL w następujący sposób:
podczas trasy kompilacji chcieliśmy upewnić się, że wszystkie dema działają bez dostępu do Internetu (nigdy nie wiadomo, jak będzie wyglądać sieć lokali). Tak więc, aby upewnić się, że Demo Bash / WSL będzie działać dla części Gita i aby zademonstrować dostęp do plików Windows na lokalnym komputerze, skonfigurowałem lokalne repo w C: gitNetHack na komputerze z systemem Windows. Aby sklonować to w WSL, wykonałem następujące czynności:
$ git –clone file:///mnt/c/Git/NetHack
linia poleceń kazała gitowi użyć protokołu file:// i sklonować repo znajdujące się w /mnt/c/Git/NetHack. Możesz uzyskać dostęp do wszystkich plików systemu Windows w podobny sposób.
Ostrzeżenie: jak w przypadku każdej konsoli, możesz modyfikować/usuwać pliki w systemie plików Windows z Bash, jeśli nie jesteś ostrożny. Na przykład możesz zrobić coś takiego jak poniżej i w końcu wymazać dobry fragment instalacji systemu Windows, zakładając, że konto Windows, na którym korzystasz, ma do tego prawa:
$ rm-rf /mnt/c/ <></strong>
przywołuję to, ponieważ polecenia linuksowe są dla wielu z nas nowością, podczas gdy polecenia konsoli Windows nie są.
Magia, która sprawia, że ta integracja systemu plików się dzieje, nazywa się DrvFs. Jeśli chcesz dowiedzieć się więcej o systemie plików i jak to działa w WSL, zespół WSL ułożyła świetny wpis na blogu ze wszystkimi szczegółami.
oczywiście dostęp do systemu plików jest tylko częścią wątku. Wiele zadań programistycznych wymaga dostępu do zdalnych zasobów poprzez HTTP lub inne protokoły sieciowe.
Wykonywanie żądań HTTP
często pomocne jest wykonanie REST lub innego połączenia HTTP (lub FTP) ze skryptu lub Wiersza poleceń, a nie ze skompilowanego programu lub strony internetowej. Podobnie jak większość dystrybucji Linuksa, WSL zawiera standardowe narzędzia, takie jak curl i wget do wykonywania połączeń HTTP i innych połączeń sieciowych. Na przykład, oto reszta połączenia do GitHub, aby uzyskać informacje o moim profilu, używając curl:
możesz połączyć to ze skryptami Bash, aby utworzyć klientów szybkiego testu dla interfejsów API REST lub narzędzia do pingowania stron internetowych na serwerach i raportowania stanu. Świetnie jest też po prostu pobrać plik z sieci; można po prostu przekierować wyjście do pliku, a nie oglądać go na ekranie:
$ curl-i https://api.github.com/users/Psychlist1972> pete.json
jestem również użytkownikiem PowerShell, a nawet stworzyłem kilka ciekawych rozszerzeń do korzystania z Windows 10 MIDI w PowerShell, a także do naprawienia uszkodzeń plików, które zdarzały się użytkownikom niektórych urządzeń do nagrywania dźwięku. Jako wieloletni programista i fan. NET będę nadal używać i rozszerzać PowerShell, ponieważ ma to sens dla moich projektów. Ale PowerShell nie jest odpowiednim środowiskiem do uruchamiania wszystkich tych narzędzi open source i przykładów bash i Linux obecnie w Internecie. Chcę użyć najprostszego i najbardziej wolnego od tarcia sposobu na wykonanie dowolnego zadania, a czasami oznacza to zrobienie tego w Bash.
ledwo zarysowałem powierzchnię tutaj na Bash, skrypty Bash i zadania, które możesz wykonać z powłoki. Do tej pory mówiłem o pracy użytkowej, która jest przydatna, ale pomocnicza w rozwoju. Co z robieniem rzeczywistego rozwoju i kompilacji z WSL? Zademonstrowałem to w ramach trasy budowy.
Bash na Build Tour – NetHack
wcześniej tego lata prelegenci z Microsoftu objechali świat demonstrując niektóre z fajnych nowych funkcji programistycznych w Windows i chmurze Microsoft. W ramach tego chcieliśmy zademonstrować WSL w zabawny sposób, ale także w sposób, do którego odnoszą się Programiści.
osobiście chciałem pokazać za pomocą git i niektórych tradycyjnych narzędzi programistycznych konsoli. Kiedy pisałem demo Basha, włączyłem podstawy („Hello World” w Pythonie i Ruby), ale chciałem pokazać coś nieco bardziej poza utartą ścieżką.
myślałem o moich czasach w college ’ u, kiedy odbijaliśmy się tam iz powrotem między Uniksem (Dec Ultrix i SunOS) a VAX/VMS. W tym czasie Unix był prawie wyłącznie środowiskiem pierwszego wiersza poleceń. W mojej szkole większość użytkowników X na kilku stacjach graficznych otworzyła kilka sesji terminala w różnych oknach, ale z super fajną tapetą Fazy księżyca w tle. Większość uczniów używała terminali VT-220 do swoich sesji (szkoła nie była daleko od Bostonu, więc mieliśmy dużo sprzętu DEC).
w tym czasie były dwie wielkie gry, w które grali wszyscy informatycy: Mud (lpmud i zupełnie nowy w tym czasie DikuMUD, głównie) i NetHack. NetHack i inne Roguelikes zostały uznane za jedne z najbardziej wpływowych gier w historii, będąc prekursorami wielu dungeon crawl i gier RPG, które lubimy dzisiaj.
NetHack ma długą historię i dziś zawiera ponad sto tysięcy linii dziesięcioletniego kodu *nix, a także nowoczesne dodatki. Sama gra używa curses (lub jego zamienników) do interakcji terminala, wymaga lex i Yacc (lub flex i bison) i cc (lub gcc), a także mnóstwo innych narzędzi programistycznych do zbudowania.
jest napisany w C i zawiera wiele mocno skryptowych narzędzi konfiguracyjnych napisanych dla powłoki Bourne ’ a. Pomyślałem, że będzie to dobry i zabawny test, aby skorzystać z możliwości programisty WSL i Bash w systemie Windows 10. Ze względu na użycie klątw (libncurses na Linuksie i WSL), pomogłoby również zademonstrować możliwości emulacji terminala wbudowanego w okno konsoli Windows 10.
kiedyś budowanie Nethacka ze źródła trwało wieczność na naszym serwerze Ultrix. Teraz zajmuje to minutę na moim komputerze i wszystko jest zrobione. Kocham postęp. Istnieją proste i trudne sposoby na skonfigurowanie i skompilowanie Nethacka na Linuksie lub WSL. Aby zaoszczędzić Ci trochę czasu, przeprowadzę Cię przez łatwe podejście.
wymagania wstępne
najpierw zaktualizuj środowisko WSL, aby upewnić się, że wskazujesz na najnowszy katalog oprogramowania, a także zaktualizuj instalację podstawową. Generalnie dobrym pomysłem jest zrobienie tego przed zainstalowaniem nowych pakietów.
$ sudo apt update
$ sudo apt upgrade
następnie zainstaluj niezbędne narzędzia programistyczne. Najprostszym sposobem jest użycie pakietu build-essential. Obejmuje to prawie każdy program konsolowy, który programista Linuksa musiałby budować aplikacje w C / C++.
$ sudo apt install build-essential
zajmie to kilka minut. Jeśli chcesz być bardziej chirurgiczny, możesz osobno zainstalować gcc, gdb, make, flex, bison i inne narzędzia wymagane w dokumentach NetHack. Ale jeśli jesteś programistą, prawdopodobnie będziesz potrzebować innych narzędzi w pewnym momencie. Pakiet build-essential usuwa zgadywanie z instalacji zestawu narzędzi.
następnie zainstaluj git. Jak możesz sobie wyobrazić, jest to tak proste jak:
$ sudo apt install Git
podobnie jak w przypadku Linuksa, możesz dodać GIT PPA, aby uzyskać nowszą wersję, ale ta zrobi to, co tutaj robimy.
i na koniec chcemy mieć zainstalowane curses (właściwie ncurses) dla interakcji ekranu konsoli:
$ sudo apt install libncurses-dev
Po wykonaniu tych kroków, jesteś gotowy do zbudowania Nethacka.
Budowa Nethacka
oficjalne repo Nethacka znajduje się na Githubie. Najpierw weźmiemy to i umieścimy w podfolderze naszego katalogu domowego.
$ cd ~
$ git clonehttp://github.com/NetHack/NetHack
ponieważ NetHack obsługuje tak wiele różnych systemów operacyjnych, że będziesz musiał zrobić kilka podstawowych konfiguracji, aby powiedzieć, że używamy Linuksa w wierszu poleceń i zastępujemy wolne i otwarte narzędzia dla klasyków uniksowych, takich jak gcc dla CC.
jak już wspomniałem, można to zrobić na wiele sposobów. Ktoś był na tyle troskliwy, aby zamknąć większość konfiguracji w pliku podpowiedzi. Zaufaj mi, Korzystanie z pliku podpowiedzi pozwoli Ci zaoszczędzić godziny bólu głowy w konfiguracji w porównaniu z krokami opisanymi w repo GitHub. Nie jest od razu oczywiste, jak korzystać z podpowiedzi, jeśli spojrzeć na pliki README lub inną dokumentację, więc proszę bardzo:
$ cd NetHack/sys/unix
$ ./setup.sh podpowiedzi / linux
, które skonfigurują makefile do używania odpowiednich narzędzi, bibliotek i ścieżek dla Linuksa. Skrypty instalacyjne są nietrywialnymi skryptami powłoki, które robią wiele konfiguracji; z przyjemnością informuję, że działają idealnie w WSL. Jeśli interesują Cię skrypty powłoki, pamiętaj, aby je otworzyć w swoim ulubionym edytorze.
następnie ostatnia Budowa:
$ cd ~/NetHack
$ make all
Po zakończeniu kompilacji będziesz chciał utworzyć instalację. Tak naprawdę chodzi tylko o skopiowanie pliku wykonywalnego do znanej lokalizacji:
$ make install
, który następnie zostawi Ci folder o nazwie ~/nh. Nethack znajduje się w katalogu ~/NH/install/games I nazywa się po prostu nethack. Aby go uruchomić, przejdź do tego katalogu (lub wpisz pełną ścieżkę) i wpisz:
$ cd ~/NH/install/games
$ nethack
gdy to zrobisz, Ekran się wyczyści i zostaniesz poproszony o rozpoczęcie grania w NetHack. Zauważ, że wszystko tutaj jest tak samo, jak w przypadku instalacji vanilla Ubuntu Linux; nic specyficznego dla systemu Windows nie było potrzebne.
Granie w Nethacka
biorąc pod uwagę ograniczenia gry na konsole i złożoność Nethacka, może to trochę potrwać, zanim się do niego dostanie. Powiedzieć, że na początku jest to trochę tajemnicze, byłoby niedopowiedzeniem, ale nigdy nie spotkałem dewelopera, który unikał dobrego wyzwania.
klawisze nawigacyjne są takie same jak te używane w VI(M), więc HJKL odpowiednio dla Lewej, w dół, w górę i w prawo. Aby wyjść, możesz znaleźć schody na najwyższym poziomie i użyć ich, lub naciśnij Control-C, aby wymusić zakończenie gry.
w Nethacku jesteś symbolem@. Każdy poziom składa się z pokoi, korytarzy, drzwi i schodów w górę iw dół. Potwory, skarby i przedmioty są reprezentowane jako różne postacie ASCII, które poznasz podczas gry. Jak to jest w przypadku Roguelikes, nie ma ratunku, a masz tylko jedno życie. Jeśli zginiesz i zagrasz ponownie, Loch zostanie losowo wygenerowany, a przedmioty zostaną pomieszane.
celem Nethacka jest przetrwanie w lochach, zbieranie złota i przedmiotów oraz zabijanie jak największej liczby potworów. Istnieją cele znacznie wykraczające poza to, ale musisz zagrać przez chwilę (lub przeczytać), aby je odkryć. Zasady: lochy & smoki zasady dotyczące broni, umiejętności itp.
oto zrzut ekranu Nethacka z trzema pokojami i dwoma korytarzami widocznymi. Schody są w lewym górnym pokoju, a ja jestem w prawym górnym pokoju, wraz z niektórymi skarbami i innymi przedmiotami.
Jeśli nie masz koloru w swojej wersji, Utwórz plik o nazwie~/.nethackrc i umieścić w nim następujące elementy:
OPTIONS=color:true,dark_room:true,menucolors: true
: Jeśli grafika postaci ASCII nie jest Twoja, ale podoba Ci się koncepcja, wyszukaj „roguelike” w Sklepie Microsoft Store i ciesz się bardziej wizualnymi grami w tym popularnym gatunku.
oczywiście, NetHack to starożytna baza kodów, najdroższa tym z nas w pewnym wieku. Jednak jego budowa wymaga znacznej liczby ważnych narzędzi programistycznych i funkcji systemów operacyjnych *nix, a także emulacji terminala. Wspaniale jest widzieć, że wszystko to, od gcc, gdb, make, bison i flex po bardziej nowoczesny git, działa dziś na WSL.
Jeśli chcesz zobaczyć powyższe demo, jak to zrobiono podczas trasy kompilacji, obejrzyj tę prezentację z trasy kompilacji w Kanadzie. Demo WSL zaczyna się około 6:20 w. (I tak, to Podsystem Windows dla Linuksa, wbrew temu, co powiedziałem w tym filmie.)
https://channel9.msdn.com/Events/Build/Build-Tour-2016-Toronto/Keynote
mam nadzieję, że spodoba ci się wycieczka do lochów Nethacka!
c i C++ są świetne, podobnie jak wszystkie te klasyczne narzędzia programistyczne. Możesz nawet zrobić wiele z prostym skryptem Bash. Ale wiele zadań programisty obejmuje języki skryptowe, takie jak Python.
Python
Możesz znaleźć przykładowe skrypty Pythona w całej sieci, co oznacza, że Python jest popularny i przydatny dla wielu programistów. Większość z tych przykładów zakłada oczywiście, że używasz Linuksa. W przeszłości oznaczało to uruchamianie ich w instalacji Linuksa na innej maszynie, maszynie wirtualnej lub opcji rozruchu, lub wprowadzanie wymaganych zmian niezbędnych do uruchomienia ich przy użyciu dystrybucji Windows Pythona.
to nie są problemy nie do pokonania przez żaden odcinek, ale w codziennym życiu programisty, takie małe tarcia się sumują. Dzięki WSL zawsze masz do dyspozycji kompatybilny podsystem i powłokę obsługującą Python, bez konieczności wychodzenia ze strefy.
aby zainstalować najnowszą wersję programistyczną Pythona i Instalator pakietów Pythona „pip”, wykonaj następujące czynności w podpowiedzi powłoki Bash:
$ sudo apt install python-pip python-dev
$ sudo pip install –upgrade pip
teraz, gdy Python jest zainstalowany, chciałem pokazać, jak można pobrać typowy przykład Pythona z witryny i bezpośrednio z nim pracować. Poszedłem na stronę ActiveState Python recipe i wybrałem najlepszy przykład Pythona. Ok, skłamałem. Pierwsza służy do drukowania nazw liczb całkowitych, a to nie brzmiało zbyt ekscytująco, więc wybrałem drugą: Tetris. Domyśliłem się, że każdego dnia widzicie wystarczająco dużo praktycznego Pythona, więc wybieram się na kolejną grę.
otworzyłem nano, skopiowałem 275 linii kodu Pythona bezpośrednio ze strony w mojej przeglądarce na Windows, wkleiłem je do nano w moim oknie konsoli WSL, zapisałem jako tetris.py a następnie po prostu wykonane:
$ python tetris.py
który natychmiast wyczyścił ekran i wywołał podstawową aplikację Tetris. Podobnie jak w przypadku NetHack, używasz tych samych klawiszy ruchu VI-standard. (Powrót w czasach przed myszy i klawiszy WASD do ruchu, prawa ręka była na klawiaturze hjkl klawiszy.)
jak już wspomniałem, można oczywiście uruchomić Pythona na Windows bez WSL. Jednak w przypadku szybkich narzędzi i próbek, możliwość uruchomienia przykładu Linux Python bez zmian po prostu przez wklejenie kodu ze znanego źródła jest dużym wzrostem produktywności dla programistów.
o to właśnie chodzi. Nie chodzi o zastąpienie innych narzędzi natywnych dla Windows, takich jak Python, PowerShell, C# i inne. Chodzi o usunięcie tarcia, gdy trzeba tylko szybko i wydajnie wykonywać zadania w nowoczesnym przepływie pracy programistycznej.
pomiędzy Bash, Pythonem i wszystkimi natywnymi narzędziami programistycznymi Linuksa, WSL ma moje potrzeby związane z przepływem pracy w Linuksie. To nie jest serwer Linuksowy, ani nawet pełny Klient Linuksa. Zamiast tego jest to dokładnie to, czego potrzebuję, aby zmniejszyć codzienne tarcie i sprawić, że programowanie w systemie Windows będzie jeszcze bardziej produktywne i przyjemne.
Resetowanie środowiska WSL
zapraszam do eksperymentowania. Jeśli uszkodzisz instalację WSL, możesz łatwo ją ponownie zainstalować. Pamiętaj, aby zachować kopie czegokolwiek ważnego.
C:> lxrun.exe /uninstall / full
C: > lxrun.exe / install
jak korzystasz z Basha i WSL?
mamy nadzieję, że posiadanie WSL, a w szczególności Bash, w systemie Windows 10 pomoże Ci być nieco bardziej wydajnym i usunie trochę tarcia z codziennych zadań programistycznych.
jak korzystasz z WSL w Windows 10? Jak chcesz go użyć?
zespół dokłada wszelkich starań, aby WSL było świetnym narzędziem konsolowym dla programistów. Jeśli masz opinię lub napotkasz problemy, zalecamy sprawdzenie strony problemy GitHub, a także opinii i głosowania UserVoice. Chcielibyśmy usłyszeć od ciebie.
dodatkowe referencje i dalsze czytanie
Linux Shell scripting to ogromny temat i istnieje wiele świetnych samouczków w Internecie. Jeśli nie jesteś jeszcze zaznajomiony z nim i chcesz dowiedzieć się więcej, większość tutorial Bash będzie działać dla ciebie. Oto jeden na początek.