If-Koubou

Jak tworzyć i uruchamiać skrypty powłoki Bash w systemie Windows 10

Jak tworzyć i uruchamiać skrypty powłoki Bash w systemie Windows 10 (Jak)

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 linii, 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 tekstu 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 możliwości uruchomienia programów Windows z poziomu środowiska Bash. Jesteś ograniczony do poleceń i narzędzi terminalu 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ł wykonywalny, abyś mógł łatwiej go uruchamiać. W systemie Linux oznacza to, że musisz nadać plikowi skryptowemu uprawnienia do wykonywania. Aby to zrobić, uruchom następujące polecenie w terminalu, wskazując go w swoim skrypcie:

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. Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem, aby zlokalizować lokalizacje w powłoce Bash systemu Windows 10.

Jak włączyć obsługę poleceń 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 pozwala dodawać polecenia 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ć polecenia 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 nakreśliliśmy powyżej i wskażemy go w utworzonym skrypcie Bash.

Na przykład wskażesz skrót w " 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.