30Jun

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 linii, a system plików Windows jest dostępny w innej lokalizacji w środowisku Bash.

Jak pisać skrypt Bash w systemie Windows 10

Podczas pisania skryptów powłoki w systemie Windows należy pamiętać, ż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 wiersza, klikając Edytuj & gt;Konwersja EOL & gt;Format UNIX / OSX.

Lepiej jest jednak 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 twoim użytkownikukatalog domowy konta.(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 uruchamianie 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.

Uczyń skrypt wykonalnym, a następnie uruchom go

Prawdopodobnie będziesz chciał, aby skrypt był wykonywalny, abyś mógł go łatwiej uruchomić.W systemie Linux oznacza to, że musisz nadać plikowi skryptowemu uprawnienia do wykonywania. Aby to zrobić, uruchom następującą komendę w terminalu, kierując ją 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, Będą musieli określić ich ścieżkę pod /mnt/ c, a nie ścieżkę Windows. Na przykład, jeśli chcesz określić plik C: \ Users \ Bob \ Downloads \ test.txt, musisz podać ścieżkę test.txt /mnt/c/Users/Bob/Downloads/.Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem, aby zlokalizować lokalizacje w powłoce Bash systemu Windows 10.

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 za pomocą polecenia bash -c.

Na przykład, aby uruchomić polecenie Linux w oknie Command Prompt lub PowerShell, możesz uruchomić następującą komendę:

bash -c "command"

Ta sztuczka pozwala ci dodawać polecenia Bash do plików wsadowych lub skryptów PowerShell. Okno powłoki Bash pojawi się, gdy uruchomione zostanie polecenie Bash.

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 polecenia bash -c opisanego powyżej i skieruj go na utworzony skrypt Bash.

Na przykład, wskażesz skrót na "bash -c" ~ / myscript.sh "", aby uruchomić powyższy skrypt przykładowy. Możesz także uruchomić to polecenie z okna wiersza poleceń lub okna PowerShell.