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 speichern .sh
und über Terminal ausführen. Aber wie könnte ich das in Windows machen?
windows
shell-script
Terminator
quelle
quelle
.sh
Shell-Skript ausführen ? Oder möchten Sie einfach wissen, wie man Skripte für Windows erstellt?Antworten:
Skripte mit einem
.sh
Suffix sind im Allgemeinen Bourne-Shell-Skripte (oder bash, ksh oder zsh - alle von der Bourne-Shell abgeleiteten Shells). (Beachten Sie, dass auf Unix-ähnlichen Systemen, einschließlich MacOS, das.sh
Suffix nicht erforderlich ist. Das Betriebssystem überprüft die#!/bin/sh
Zeile oben im Skript, um festzustellen, wie es ausgeführt werden soll.)Windows bietet keine Bourne-ähnliche Shell.
Sie können Cygwin installieren , das unter Windows eine Unix-ähnliche Umgebung bietet, aber keine besonders "native" Umgebung hat. (Kommentar der Redaktion: Cygwin ist großartig für Leute wie mich, die Windows verwenden müssen, aber lieber Unix verwenden möchten.)
Es gibt andere Unix-ähnliche Subsysteme, die unter Windows ausgeführt werden, darunter MinGW und das von Microsoft bereitgestellte Windows Services for UNIX- Paket.
Anstatt zu versuchen, Unix-ähnliche Shell-Skripte zu schreiben und auszuführen, können Sie auch Windows-Batchdateien schreiben. Diese haben im Allgemeinen ein
.bat
oder ein.cmd
Suffix. 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.
quelle
Sie können Cygwin verwenden . Es bietet Linux-ähnliche Umgebung in Windows.
quelle
Bei Win sind die gängigen Erweiterungen
.bat
oder.cmd
. Eine gute Quelle für die in der 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.
quelle
Was ist mit UWIN?
UWIN ist ein von David Korn entwickeltes Computer-Softwarepaket, mit dem Programme, die für das Betriebssystem Unix geschrieben wurden, mit wenigen Änderungen unter Microsoft Windows erstellt und ausgeführt werden können. Ein Teil der Softwareentwicklung wurde an Wipro, Indien, vergeben.
Überprüfen Sie dieses UWIN - Unix für Windows
Auffallende Merkmale von UWIN
Verwendung von UWIN
Nachteile von UWIN
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.
Interix
Interix ist eine Komponente der Services for Unix (SFU) -Release 3.0 und 3.5 (die letzte Version ist frei erhältlich ).
quelle
Es gibt eine andere Möglichkeit, dies mit dem Jubiläumsupdate für Windows 10 zu tun . In Windows ist jetzt eine Bash-Shell (Ubuntu) verfügbar.
Um es zu verwenden, müssen Sie das Feature installieren, da es standardmäßig nicht aktiviert ist.
Gehe zu
Control Panel
->Programs
->Turn Windows Features On and Off
.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 Ausführen öffnen ->
cmd
dann eingebenbash
oder ausführen ->bash.exe
.Dadurch erhalten Sie eine Bash-Shell ohne virtuelle Maschine oder Cygwin oder virtualbox.
quelle
Obwohl die bestehenden hier Antworten zu der Zeit richtig, 10 Windows - ist nun auch optional eine modifizierte Version von Ubuntu eines vollständig 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.
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:
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.
quelle
Sie werden CygWin brauchen und dann werden Sie, glaube ich, in der Lage sein, einfach zu rennen:
quelle
Die richtige Antwort wurde in einem Kommentar von Kenaniah gegeben, man muss Batch-Dateien verwenden . Sie müssen Ihre Shell-Code-Datei 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-ähnlich zu sein scheint.
quelle