Jak tworzyć i uruchamiać skrypty powłoki Bash w systemie Windows 10
Wraz z pojawieniem się powłoki Bash systemu Windows 10 można teraz tworzyć i uruchamiać skrypty powłoki Bash w systemie Windows 10. Można również włączyć polecenia Bash do pliku wsadowego Windows lub skryptu PowerShell.
Nawet jeśli wiesz, co robisz, niekoniecznie jest to tak proste, jak się wydaje. Systemy Windows i UNIX używają różnych znaków końca wiersza, a system plików Windows jest dostępny w innej lokalizacji w środowisku Bash.
Jak napisać skrypt Bash na Windows 10
Podczas pisania skryptów powłoki w systemie Windows pamiętaj, że systemy Windows i UNIX, takie jak Linux, używają różnych znaków końca linii w plikach tekstowych w skryptach powłoki.
Innymi słowy oznacza to, że nie można po prostu napisać skryptu powłoki w Notatniku. Zapisz plik w Notatniku i nie będzie on poprawnie interpretowany przez Bash. Możesz jednak użyć bardziej zaawansowanych edytorów tekstu - na przykład Notepad ++ pozwala nadać plikowi UNIX znaki końca linii, klikając Edycja> Konwersja EOL> Format UNIX / OSX.
Jednak lepiej jest pisać skrypt powłoki w samym środowisku Bash. Środowisko Bash oparte na Ubuntu zawiera zarówno edytory vi, jak i nano. Edytor vi jest potężniejszy, ale jeśli nigdy wcześniej go nie używałeś, możesz zacząć od nano. Jest łatwiejszy w użyciu, jeśli jesteś nowy.
Na przykład, aby utworzyć skrypt bash w nano, uruchomisz następujące polecenie w bash:
nano ~ / myscript.sh
Otworzyłoby to edytor tekstowy Nano wskazujący na plik o nazwie "myscript.sh" w katalogu domowym twojego konta użytkownika. (Znak "~" reprezentuje twój katalog domowy, więc pełna ścieżka to /home/username/myscript.sh.)
Uruchom skrypt powłoki za pomocą linii:
#! / bin / bash
Wprowadź polecenia, które chcesz uruchomić, każdy w osobnym wierszu. Skrypt uruchamia kolejno każde polecenie. Dodaj znak "#" przed wierszem, aby traktować go jako "komentarz", coś, co pomaga tobie i innym ludziom zrozumieć skrypt, ale który nie jest uruchamiany jako polecenie. Bardziej zaawansowane sztuczki można znaleźć w bardziej szczegółowym przewodniku po skryptach Bash w systemie Linux. Te same techniki będą działać w Bash na Ubuntu w systemie Windows.
Zauważ, że nie ma sposobu na uruchomienie programów Windows z poziomu środowiska Bash. Ograniczasz się do poleceń i programów narzędziowych systemu Linux, tak jak w typowym systemie Linux.
Na przykład, użyjmy po prostu podstawowego skryptu "cześć świat" jako przykładu tutaj:
#! / bin / bash # ustaw zmienną STRING STRING = "Hello World!" # wydrukuj zawartość zmiennej na ekranie echo $ STRING
Jeśli używasz edytora tekstowego Nano, możesz zapisać plik, naciskając Ctrl + O, a następnie Enter. Zamknij edytor, naciskając Ctrl + X.
Wykonaj skrypt, który będzie wykonywany, a następnie uruchom go
Prawdopodobnie będziesz chciał, aby skrypt był wykonywany, abyś mógł łatwiej go uruchomić. W systemie Linux oznacza to, że musisz nadać plikowi skryptowemu uprawnienia do wykonywania. Aby to zrobić, uruchom następujące polecenie w terminalu, kierując go do skryptu:
chmod + x ~ / myscript.sh
Aby uruchomić skrypt, możesz teraz uruchomić go w terminalu, wpisując jego ścieżkę. Za każdym razem, gdy chcesz uruchomić skrypt w przyszłości, po prostu otwórz powłokę Bash i wpisz ścieżkę do skryptu.
~ / myscript.sh
(Jeśli skrypt znajduje się w bieżącym katalogu, możesz go uruchomić za pomocą ./myscript.sh)
Jak pracować z plikami Windows w skrypcie Bash
Aby uzyskać dostęp do plików systemu Windows w skrypcie, musisz podać ich ścieżkę w katalogu / mnt / c, a nie ścieżce systemu Windows. Na przykład, jeśli chcesz określić plik C: \ Users \ Bob \ Downloads \ test.txt, musisz podać ścieżkę /mnt/c/Users/Bob/Downloads/test.txt. Zapoznaj się z naszym przewodnikiem, aby zlokalizować lokalizacje w powłoce Bash systemu Windows 10, aby uzyskać więcej informacji.
Jak włączyć polecenia Bash do skryptu Batch lub PowerShell
Wreszcie, jeśli masz istniejący plik wsadowy lub skrypt PowerShell, do którego chcesz wprowadzić polecenia, możesz uruchamiać polecenia Bash bezpośrednio, korzystając z bash -c
dowództwo.
Na przykład, aby uruchomić polecenie systemu Linux w oknie wiersza polecenia lub w oknie PowerShell, można uruchomić następujące polecenie:
bash -c "polecenie"
Ta sztuczka umożliwia dodawanie poleceń Bash do plików wsadowych lub skryptów PowerShell. Okno powłoki Bash pojawi się, gdy uruchomione zostanie polecenie Bash.
Aktualizacja: Jeśli masz wiele środowisk Linux zainstalowanych, możesz użyć komendy wslconfig, aby wybrać domyślne środowisko Linux używane podczas uruchamiania bash -c
dowództwo.
Aby utworzyć skrót do skryptu Bash z poziomu systemu Windows, po prostu utwórz skrót tak jak zwykle. Aby uzyskać cel skrótu, użyj znaku bash -c
polecenie, które opisaliśmy powyżej i wskażemy go w skrypcie Bash, który utworzyłeś.
Na przykład wskażesz skrót na " bash -c "~ / myscript.sh"
"Aby uruchomić przykładowy skrypt powyżej. Możesz także uruchomić to polecenie z okna wiersza poleceń lub okna PowerShell.