Können Sie .sh
mit einem dieser Programme eine Datei aus der Windows-Eingabeaufforderung aufrufen?
Zum Beispiel:
msys myscript.sh
Oder
c:\temp\msys.exe myscript.sh
Ist das möglich? Ich möchte eine Batchdatei mit .sh-Skripten auf einem meiner Systeme ausführen.
Antwort1
msys.exe
ist einer von mehreren Ports von Unix-Befehlszeilentools. Ich habe es nicht verwendet, aber es scheint das Installationspaket zu sein, Sie müssen es also ausführen und konfigurieren. Wenn Sie die Tools sofort verfügbar haben möchten und das Installationsprogramm dies nicht tut, müssen Sie das installierte Verzeichnis zu Ihrer Variable msys.exe
hinzufügen .PATH
Um ein Shell-Skript zu interpretieren, benötigen Sie . bash
In Ihrem Beispiel würden Sie also Folgendes eingeben:
bash -c myscript.exe
Wenn alle Ihre Skripte auf enden .sh
(unter Unix ist keine besondere Erweiterung erforderlich und häufig ist auch keine vorhanden), können Sie die .sh
Erweiterung mit zuordnen bash
, sodass Sie den Skriptnamen dann einfach eingeben oder doppelklicken können.
Alternativ können Sie bash
es interaktiv ausführen cmd
, dann werden alle Ihre Befehle wie unter Unix ausgeführt.
Zwei Punkte, die Sie beachten sollten:
- Wenn die Skripte aus Unix importiert werden, werden sieinterpretiertkorrekt, werden jedoch nicht ausgeführt, wenn sie Befehle oder Ressourcen aufrufen, die in Windows entweder nicht vorhanden sind oder andere Funktionen haben.
- Unix verwendet und
/
als Verzeichnistrennzeichen,-
um Befehlsoptionen zu signalisieren, während Windows\
und verwendet/
. Einige Unix-Befehlsports versuchen, beide Stile zu berücksichtigen, aber da/
zwei verschiedene Bedeutungen haben, ist dies zwangsläufig ein schlechter Kompromiss. Ich habe keine Ahnung, obmsys
dies versucht wird.