it-swarm.com.de

Wie kann ich ein Shell-Skript unter Windows ausführen?

Ich bin ein Mac-Benutzer und neu in Windows. Wie kann ich ein Shell-Skript in Windows ausführen?

Generell würde ich die Textdatei mit der Endung .sh speichern und über Terminal ausführen. Aber wie könnte ich das in Windows machen?

22
Terminator

Skripte mit dem Suffix .sh sind in der Regel Bourne-Shell-Skripte (oder bash oder ksh oder zsh - alle von der Bourne-Shell abgeleiteten Shells). (Beachten Sie, dass auf Unix-ähnlichen Systemen, einschließlich MacOS, das Suffix .sh nicht erforderlich ist. Das Betriebssystem sieht in der Zeile #!/bin/sh oben im Skript nach, wie es ausgeführt werden soll.)

Windows bietet keine Bourne-ähnliche Shell.

Sie können Cygwin installieren , das unter Windows eine Unix-ähnliche Umgebung bereitstellt, aber keine besonders "native" Umgebung hat. (Kommentar der Redaktion: Cygwin ist großartig für Leute wie mich, die Windows benötigen, aber lieber Unix verwenden möchten.)

Es gibt andere Unix-ähnliche Subsysteme, die unter Windows ausgeführt werden, darunter MinGW und die Windows-Dienste für UNIX Paket von Microsoft bereitgestellt.

Anstatt zu versuchen, Unix-ähnliche Shell-Skripte zu schreiben und auszuführen, können Sie auch Windows-Batchdateien schreiben. Diese haben in der Regel das Suffix .bat oder .cmd. Sie verwenden dieselben Befehle und dieselbe Syntax wie die interaktive Windows-Eingabeaufforderung.

Es gibt auch die relativ neue Windows PowerShell ; Ich bin selbst nicht damit vertraut, aber ich habe gute Dinge darüber gehört.

29
Keith Thompson

Sie können Cygwin verwenden. Es bietet Linux-ähnliche Umgebung in Windows.

6
ChandanK

Was ist mit UWIN ??

UWIN ist ein von David Korn entwickeltes Computer-Softwarepaket, mit dem für das Betriebssystem Unix geschriebene Programme unter Microsoft Windows mit wenigen, falls vorhanden, erstellt und ausgeführt werden können irgendwelche Veränderungen. Ein Teil der Softwareentwicklung wurde an Wipro, Indien, vergeben.

Überprüfen Sie diese UWIN - Unix für Windows

Auffallende Merkmale von UWIN

  1. Zugriff auf fast alle Befehlszeilentools von Unix unter Windows. 245 Kommandozeilen-Tools, um genau zu sein.
  2. Wird mit dem originalen Unix-Compiler 'cc' sowie einer Vielzahl von Tools wie 'make' und den erforderlichen Bibliotheken geliefert, mit denen Unix-Anwendungen auf Windows-Rechnern ohne oder mit nur geringen Änderungen im Quellcode erstellt und ausgeführt werden können.
  3. Option zur Verwendung anderer Compiler wie Visual C++ oder Mingw zum Kompilieren von Programmen. Vollwertiges Perl-Paket.
  4. X-Windows-Bibliotheken für diejenigen, die X-Anwendungen unter Windows entwickeln möchten. Um diese Anwendungen unter Windows ausführen zu können, benötigen Sie einen X-Server, der nicht mit UWIN gebündelt ist.
  5. UWIN wird mit einem Applet für die Systemsteuerung geliefert (Zugriff über "Start-> Einstellungen-> Systemsteuerung-> UWIN"), mit dem einige der UWIN-Systemparameter konfiguriert werden können.

Verwendung von UWIN

  • Führen Sie Unix-Anwendungen nativ in Windows mit voller Geschwindigkeit aus.
  • Nutzen Sie die volle Leistungsfähigkeit der Unix-Befehlszeilentools unter Windows.
  • Mit der mit UWIN gelieferten Korn-Shell fühlt sich ein Unix-Benutzer in einer Windows-Umgebung wie zu Hause.
  • Entwickeln Sie UNIX-Anwendungen und führen Sie sie unter Windows aus.
  • Entwickeln Sie X-Anwendungen auf der Windows-Plattform.

Nachteile von UWIN

  • UWIN wird nicht mit einem X-Server geliefert, sodass ein Benutzer keine X-Anwendungen unter Windows ausführen kann. Es gibt jedoch kommerzielle X-Server von Drittanbietern, die diese Lücke schließen können.
  • UWIN ist nicht unter der GPL veröffentlicht, kann jedoch kostenlos heruntergeladen und für Bildungs- und nichtkommerzielle Zwecke verwendet werden

Diese Software wurde verwendet, um uns Linux Command beizubringen, als ich am College war. Wirklich gut.


Ref: WikiPedia

Cygwin ist eine Unix-ähnliche Umgebung und Befehlszeilenschnittstelle für Microsoft Windows.

Das Gute daran ist, dass Cygwin die native Integration von Windows-basierten Anwendungen, Daten und anderen Systemressourcen mit Anwendungen, Softwaretools und Daten der Unix-ähnlichen Umgebung ermöglicht.

Interix
Interix ist eine Komponente der Services for Unix (SFU) -Release 3.0 und 3.5 ( diese letzte wird frei verteilt ).

Die neuesten Versionen von Interix, 5.2 und 6.0, sind Komponenten der Editionen Windows Server 2003 R2, Windows Vista Enterprise und Ultimate und Windows Server 2008 unter dem Namen SUA (Subsystem für Unix-basierte Anwendungen). Version 6.1 ist in Windows 7 enthalten. Enterprise und Ultimate) und Windows Server 2008 R2 (alle Editionen)

2
Niranjan Singh

Es gibt eine andere Möglichkeit, dies mit dem Jubiläumsupdate für Windows 10 zu tun. Es gibt jetzt eine Bash (Ubuntu) Shell in Windows.

Um es zu verwenden, müssen Sie das Feature installieren, da es standardmäßig nicht aktiviert ist.

  1. Gehen Sie zu Control Panel -> Programs -> Turn Windows Features On and Off.

  2. Aktivieren Sie das Kontrollkästchen für Windows Subsystem for Linux (Beta). Dies installiert die Funktion und fordert zum Neustart auf.

Dann können Sie eine Eingabeaufforderung über run -> cmd öffnen und dann bash oder run -> bash.exe eingeben.

Dadurch erhalten Sie eine Bash-Shell ohne virtuelle Maschine oder Cygwin oder virtualbox.

2
Matt

Bei Win sind die allgemeinen Erweiterungen .bat oder .cmd. Eine gute Quelle für die in Windows Shell verwendeten Befehle ist ss64 - für CMD und PowerShell.

Cygwin ist kein "Muss". Es gibt Ihnen nur den Linux-Stil - verwenden Sie BASH unter Win.

2
Bakudan

Obwohl die vorhandenen Antworten hier zu der Zeit korrekt waren, enthält Windows 10 jetzt optional eine modifizierte Version von Ubuntu, auf der eine vollständige Bash-Shell ausgeführt wird .

Nach der Installation können Sie eine Bash-Eingabeaufforderung öffnen (ähnlich wie bei einem Terminal unter OS X/macOS) und das Skript wie gewohnt ausführen.

chmod +x myscript.sh
./myscript.sh

Wenn Sie ein Skript direkt unter Windows ausführen möchten, können Sie im selben Verzeichnis eine Verknüpfung erstellen und als "Ziel" Folgendes festlegen:

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

Wenn der Pfad Ihres Skripts relativ zur Position der Verknüpfung ist (wie im obigen Beispiel), stellen Sie sicher, dass das Feld "Start in" ebenfalls leer ist.

1
Molomby

Die richtige Antwort wurde in einem Kommentar von Kenaniah gegeben, Sie müssen Batch-Dateien verwenden. Sie müssen Ihre Shell-Codedatei mit * .bat benennen, dann können Sie sie ausführen, indem Sie darauf klicken, oder einfach den Namen in das Terminal eingeben. Beachten Sie, dass das Windows-Terminal nicht genau wie das Unix-Terminal funktioniert. Im gesamten Web finden Sie zahlreiche Hilfeinformationen und Tutorials zu den Befehlen und zur Syntax. Es besteht auch die Möglichkeit, die Windows PowerShell zu verwenden, die eher unix-artig zu sein scheint.

0
Michael K

Sie werden CygWin brauchen und dann werden Sie, glaube ich, in der Lage sein, einfach zu rennen:

sh yourscript.sh
0
dpl47