Skip to content

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

24 de lipiec de 2021
img 577afca4b621d

Wraz z nadejściem powłoki Bash systemu Windows 10 możesz teraz tworzyć i uruchamiać skrypty powłoki Bash w systemie Windows 10. Możesz także włączyć polecenia Bash do pliku wsadowego systemu Windows lub skryptu PowerShell.

Nawet jeśli wiesz, co robisz, niekoniecznie jest to takie 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 w systemie Windows 10

Pisząc skrypty 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żesz po prostu napisać skryptu powłoki w Notatniku. Zapisz plik w Notatniku, a nie zostanie on poprawnie zinterpretowany przez Bash. Możesz jednak użyć bardziej zaawansowanych edytorów tekstu – na przykład Notatnik++ umożliwia nadanie plikowi znaków końca wiersza w systemie UNIX, klikając opcję Edycja > Konwersja EOL > Format UNIX/OSX.

1627142778 803 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows

Jednak lepiej jest po prostu napisać skrypt powłoki w samym środowisku Bash. Środowisko Bash oparte na Ubuntu zawiera zarówno edytory tekstu 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, należy uruchomić następujące polecenie w bash:

nano ~/myscript.sh

Spowoduje to otwarcie edytora tekstu Nano wskazanego w pliku o nazwie „myscript.sh” w katalogu domowym twojego konta użytkownika. (Znak „~” reprezentuje katalog domowy, więc pełna ścieżka to /home/username/myscript.sh.)

1627142778 200 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows

Uruchom skrypt powłoki od linii:

#!/bin/bash

Wprowadź polecenia, które chcesz uruchomić, każde w osobnym wierszu. Skrypt uruchomi kolejno każde polecenie. Dodaj znak „#” przed wierszem, aby traktować go jako „komentarz”, coś, co pomoże Tobie i innym osobom zrozumieć skrypt, ale co nie jest uruchamiane jako polecenie. Aby uzyskać bardziej zaawansowane sztuczki, zapoznaj się z bardziej szczegółowym przewodnikiem 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 uruchamiania programów Windows ze środowiska Bash. Jesteś ograniczony do poleceń i narzędzi terminala Linuksa, tak jak w typowym systemie Linux.

Na przykład użyjmy prostego skryptu „hello world” jako przykładu:

#!/bin/bash
# set the STRING variable
STRING=”Hello World!”
# print the contents of the variable on screen
echo $STRING

Jeśli używasz edytora tekstu Nano, możesz zapisać plik, naciskając Ctrl + O, a następnie Enter. Zamknij edytor, naciskając Ctrl+X.

1627142778 458 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows

Stwórz skrypt wykonywalny, a następnie go uruchom

Prawdopodobnie będziesz chciał, aby skrypt był wykonywalny, abyś mógł go łatwiej uruchamiać. W systemie Linux oznacza to, że musisz nadać plikowi skryptu uprawnienia do wykonywania. Aby to zrobić, uruchom następujące polecenie w terminalu, wskazując je na swój skrypt:

chmod +x ~/myscript.sh

1627142778 136 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows


Aby uruchomić skrypt, możesz teraz po prostu 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)

1627142778 255 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows

Jak pracować z plikami Windows w skrypcie Bash

Aby uzyskać dostęp do plików Windows w skrypcie, musisz określić ich ścieżkę w /mnt/c, a nie ich ścieżkę Windows. Na przykład, jeśli chcesz określić plik C:UsersBobDownloadstest.txt, musisz określić ścieżkę /mnt/c/Users/Bob/Downloads/test.txt. Zapoznaj się z naszym przewodnikiem dotyczącym lokalizacji plików w powłoce Bash systemu Windows 10, aby uzyskać więcej informacji.

Jak włączyć polecenia Bash do wsadowego skryptu PowerShell

Wreszcie, jeśli masz istniejący plik wsadowy lub skrypt PowerShell, do którego chcesz włączyć polecenia, możesz uruchamiać polecenia Bash bezpośrednio za pomocą bash -c Komenda.

Na przykład, aby uruchomić polecenie systemu Linux w oknie wiersza polecenia lub programu PowerShell, możesz uruchomić następujące polecenie:

bash -c „command”


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

Aktualizacja: Jeśli masz zainstalowanych wiele środowisk Linux, możesz użyć polecenia wslconfig, aby wybrać domyślne środowisko Linux używane podczas uruchamiania bash -c Komenda.

1627142778 531 Jak tworzyc i uruchamiac skrypty powloki Bash w systemie Windows

Aby utworzyć skrót do skryptu Bash z poziomu systemu Windows, po prostu utwórz skrót jak zwykle. Jako cel skrótu użyj the use bash -c polecenie, które opisaliśmy powyżej i wskaż je na utworzony przez Ciebie skrypt Bash.

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

Czy ten post był pomocny?