Jak mogę uruchomić skrypt powłoki w systemie Windows? [duplikować]

23

Jestem użytkownikiem komputera Mac i nowy w systemie Windows. Jak mogę wykonać skrypt powłoki w systemie Windows?

Zasadniczo zapisywałbym plik tekstowy z rozszerzeniem .shi uruchamiałbym go przez terminal. Ale jak mogę to zrobić w systemie Windows?

Terminator
źródło
1
Pliki wsadowe. en.wikipedia.org/wiki/Batch_file
Kenaniah
2
Czy możesz podać przykład skryptu, który ma być uruchamiany w systemie Windows?
1
Czy chcesz uruchomić wcześniej istniejący .shskrypt powłoki? A może po prostu chcesz wiedzieć, jak pisać skrypty dla systemu Windows?
Keltari

Odpowiedzi:

30

Skrypty z .shsufiksem są ogólnie skryptami powłoki Bourne'a (lub bash, ksh lub zsh - wszystkie powłoki pochodzące z powłoki Bourne'a). (Należy pamiętać, że w systemach uniksowych, w tym MacOS, .shsufiks nie jest konieczny; system operacyjny patrzy na #!/bin/shwiersz u góry skryptu, aby ustalić, jak go wykonać.)

Windows nie zapewnia powłoki podobnej do Bourne'a.

Możesz zainstalować Cygwin , który zapewnia środowisko podobne do Uniksa pod Windows - ale nie ma szczególnie „macierzystego” środowiska. (Komentarz redakcyjny: Cygwin jest świetny dla ludzi takich jak ja, którzy muszą korzystać z systemu Windows, ale naprawdę wolą używać systemu Unix.)

Istnieją inne podsystemy uniksopodobne działające w systemie Windows, w tym MinGW i pakiet Windows Services for UNIX dostarczony przez Microsoft.

Lub zamiast próbować pisać i uruchamiać uniksowe skrypty powłoki, możesz pisać pliki wsadowe systemu Windows. Zazwyczaj mają one przyrostek .batlub .cmd. Używają tych samych poleceń i składni, co interaktywny wiersz poleceń systemu Windows.

Jest też stosunkowo nowy Windows PowerShell ; Sam tego nie znam, ale słyszałem o tym dobre rzeczy.

Keith Thompson
źródło
3
Będę popierać sugestię PowerShell jako użytkownik programu PowerShell, który napisał kilka skryptów do robienia wszystkiego, od ponownego uruchamiania komputera zdalnego lub zamykania usług na komputerze zdalnym po pobieranie listy nazw komputerów z Active Directory, alfabetycznie i testowanie każdego z nich pod kątem niektóre usługi i wykonywanie dużych skomplikowanych operacji przenoszenia plików. Może dosłownie zrobić to WSZYSTKO w systemie Windows.
Paperlantern
1
Warto zauważyć, że chociaż cygwin może pozwolić na uruchomienie skryptu, może on nie działać poprawnie, jeśli
podejmie
7

Możesz użyć Cygwin . Zapewnia środowisko podobne do systemu Linux w systemie Windows.

ChandanK
źródło
2

Na Win typowymi rozszerzeniami są .batlub .cmd. Dobrym źródłem poleceń używanych w powłoce systemu Windows jest ss64 - dla CMD i PowerShell.

Cygwin nie jest „koniecznością”. To tylko styl Linux - użyj BASH na Win.

Bakudan
źródło
2

Co z UWIN?

UWIN to pakiet oprogramowania komputerowego stworzony przez Davida Korna, który umożliwia tworzenie programów napisanych dla systemu operacyjnego Unix i uruchamianie ich w systemie Microsoft Windows z niewielkimi, jeśli w ogóle, zmianami. Część oprogramowania została zlecona podwykonawcom Wipro w Indiach.

Sprawdź to UWIN - Unix dla Windows

Istotne cechy UWIN

  1. Dostęp do prawie wszystkich narzędzi wiersza poleceń z Uniksa w systemie Windows. Dokładnie 245 narzędzi wiersza poleceń.
  2. Dostarczany jest w komplecie z oryginalnym kompilatorem uniksowym „cc”, a także mnóstwem narzędzi takich jak „make” i niezbędnymi bibliotekami, które pozwalają budować i uruchamiać aplikacje uniksowe na komputerach z systemem Windows z niewielkimi lub zerowymi zmianami w kodzie źródłowym.
  3. Możliwość użycia innych kompilatorów, takich jak Visual C ++ lub Mingw, do kompilacji programów. Pełnoprawny pakiet Perla.
  4. Biblioteki X Windows dla tych, którzy chcą opracować aplikacje X dla Windows. Aby uruchomić te aplikacje w systemie Windows, potrzebujesz serwera X, który nie jest dołączony do UWIN.
  5. UWIN jest wyposażony w aplet panelu sterowania (dostępny poprzez 'Start-> Ustawienia-> Panel sterowania-> UWIN), którego można użyć do skonfigurowania niektórych parametrów systemu UWIN.

Zastosowania UWIN

  • Uruchamiaj aplikacje uniksowe natywnie w systemie Windows z pełną prędkością.
  • Wykorzystaj pełną moc narzędzi wiersza polecenia systemu Unix w systemie Windows.
  • Powłoka Korn w pakiecie z UWIN sprawia, że ​​użytkownik systemu Unix czuje się jak w domu w środowisku Windows.
  • Twórz i uruchamiaj aplikacje UNIX w systemie Windows.
  • Twórz aplikacje X na platformie Windows.

Wady UWIN

  • UWIN nie jest dostarczany w pakiecie z serwerem X, więc użytkownik nie będzie mógł uruchamiać aplikacji X w systemie Windows. Chociaż dostępne są komercyjne serwery X innych firm, które mogą wypełnić tę lukę.
  • UWIN nie jest wydawany na licencji GPL, ale można go bezpłatnie pobrać i używać do celów edukacyjnych i niekomercyjnych

To oprogramowanie było używane do nauki Linux Command, kiedy byłem na studiach .. naprawdę dobre ..


Ref: WikiPedia

Cygwin to środowisko uniksopodobne i interfejs wiersza polecenia dla systemu Microsoft Windows.

Dobrze, że Cygwin zapewnia natywną integrację aplikacji, danych i innych zasobów systemu Windows z aplikacjami, narzędziami programowymi i danymi środowiska uniksowego.

Interix
Interix jest składnikiem Services for Unix (SFU) w wersjach 3.0 i 3.5 ( ta ostatnia jest dystrybuowana swobodnie ).

Najnowsze wersje Interix, 5.2 i 6.0, są składnikami systemu Windows Server 2003 R2, Windows Vista Enterprise i Ultimate oraz Windows Server 2008 pod nazwą SUA (podsystem aplikacji opartych na Uniksie) Wersja 6.1 jest zawarta w systemie Windows 7 ( Enterprise i Ultimate) oraz Windows Server 2008 R2 (wszystkie wersje)

Niranjan Singh
źródło
2

Istnieje inny sposób, aby to zrobić dzięki aktualizacji Anniversary dla systemu Windows 10 . W systemie Windows dostępna jest teraz powłoka Bash (Ubuntu).

Aby go użyć, musisz zainstalować tę funkcję, ponieważ nie jest ona domyślnie włączona.

  1. Idź do Control Panel-> Programs-> Turn Windows Features On and Off.

  2. Zaznacz pole wyboru dla Windows Subsystem for Linux (Beta). Spowoduje to zainstalowanie funkcji i monit o ponowne uruchomienie.

Następnie możesz otworzyć wiersz polecenia za pomocą polecenia run ->, cmda następnie wpisz bashlub uruchom -> bash.exe.

To da ci powłokę bash bez maszyny wirtualnej, Cygwin lub virtualbox.

Matt
źródło
1

Chociaż dotychczasowe odpowiedzi tutaj były poprawne w momencie, Windows 10 ma teraz ewentualnie zawierać zmodyfikowaną wersję Ubuntu działa pełną powłoki bash .

Po zainstalowaniu możesz otworzyć monit bash (podobnie jak terminal w OS X / macOS) i uruchomić skrypt jak zwykle, tj .:

chmod +x myscript.sh
./myscript.sh

Jeśli chcesz uruchomić skrypt bezpośrednio z systemu Windows, możesz utworzyć skrót w tym samym katalogu i ustawić „Cel” na coś takiego:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Jeśli ścieżka skryptu jest zależna od lokalizacji skrótu (jak w powyższym przykładzie), upewnij się, że pole „Rozpocznij w” jest również puste.

Molomby
źródło
0

Będziesz potrzebował CygWin, a następnie uważam, że będziesz mógł po prostu uruchomić:

sh yourscript.sh
dpl47
źródło
0

Prawidłowa odpowiedź została podana w komentarzu Kenaniaha, musisz użyć plików wsadowych . Musisz nazwać plik kodu powłoki na * .bat, a następnie możesz go uruchomić, klikając go lub po prostu wpisując jego nazwę w terminalu. Zauważ, że terminal Windows nie działa dokładnie tak samo, jak terminal unixowy. Znajdziesz wiele pomocy i samouczków dotyczących poleceń i składni w całej sieci. Istnieje również możliwość korzystania z Windows PowerShell , który wydaje się bardziej uniksowy.

Michael K.
źródło