Forum: PC-Programmierung Linux Shell Scripte unter Windows


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von -gb- (georg2011) Benutzerseite


Lesenswert?

Mein neues Simulatios-tool wirf mir allerlei *.sh Scripte aus, die unter 
Linux verwendet werden können. Mein netter Chef hat aber nur Windows-PCs 
im Angebot. Wie und mit welchem Support nutzt man die am besten?
Cygwin habe ich gefunden und installiert, er frisst es aber nicht.
Start aus dem Verzeichnis oder auch dem lokalen Script-Verzeichnis wird 
nicht akzeptiert. Das jeweilige file wird angeblich nicht gefunden.

Beispiel:  do_sim.sh  mit do und nur unter Aufruf von do_sim (ohne und 
mit sh) gestartet - keine Reaktion.

Muss das noch irgendwie dem Win bekannt gemacht werden? Braucht es einen 
Pfadeintrag?

Arbeitet jemand mit Shell-Sripten unter Windows?

Wir haben hier noch jemanden, der an dem Problem laboriert und das 
gleiche ausprobiert - ebenfalls ohne Ergebnis. Kann es sein, dass nur 
manche Win-Versionen das unterstützen?

von Sebastian R. (sebastian_r569)


Lesenswert?

G. B. schrieb:
> Wie und mit welchem Support nutzt man die am besten?

Wäre das WSL (Windows-Subsystem für Linux) vielleicht etwas?

von Ein T. (ein_typ)


Lesenswert?

G. B. schrieb:
> Mein neues Simulatios-tool wirf mir allerlei *.sh Scripte aus, die unter
> Linux verwendet werden können. Mein netter Chef hat aber nur Windows-PCs
> im Angebot. Wie und mit welchem Support nutzt man die am besten?
> Cygwin habe ich gefunden und installiert, er frisst es aber nicht.
> Start aus dem Verzeichnis oder auch dem lokalen Script-Verzeichnis wird
> nicht akzeptiert. Das jeweilige file wird angeblich nicht gefunden.

Unter aktuelleren Windows-Systemen soll es von Microsoft das "Windows 
Subsystem for Linux" geben, das allerdings meines Wissens separat 
installiert werden muß. Im Kern soll das ein Ubuntu mit den originalen 
Ubuntu-Paketquellen und -Paketen sein. YMMV, vielleicht weiß hier jemand 
mehr dazu. Alternativ könnte natürlich auch eine VM mit Linux gehen...

von Brax (brax09)


Lesenswert?

Vermutlich ist Dein aktuelles Verzeichniss nicht im Pfad und die Scripte 
werden deshalb nicht gefunden. Abhilfe schafft vermutlich "./do_sim.sh". 
Ob die Scripte laufen - wäre nicht zu zuversichtlich... WSL ist auf 
jedenfall keine schlechte Alternative.

von Andy S. (pneun68)


Lesenswert?

Hallo Georg.

Shell-Skripte laufen unter Cygwin nur in einer cygwin-Kommandozeile, das 
normale Befehlszeilenfenster kann damit nix anfangen.

Eigentlich haette cygwin bei der Installation einen Icon auf dem Desktop 
anlegen müssen mit der Bezeichnung 'Cygwin Terminal' oder 'Cygwin64 
Terminal'. In diesen Kommandozeilenfenstern sollten die Shellskripte 
aufrufbar sein.
Wenn das Shellskript im aktuellen Arbeitsverzeichnis liegt, muss man oft 
ein './' beim Aufruf davorsetzen weil das aktuelle Arbeitsverzeichnis 
traditionell aus Sicherheitsgründen oft nicht im PATH enthalten ist.

Edit:Und natürlich ruft man Shell-skripte mit ihrem vollständigen Namen 
auf, das '.sh' gehört zu diesem Namen dazu.

Freundliche Gruesse aus Hohenlohe
Andy

: Bearbeitet durch User
von Thomas (isarfox)


Lesenswert?

Hallo G.B.,

es gab ja schon einige Empfehlungen für WSL, dass ist vermutlich mit die 
beste Option, allerdings ...

G. B. schrieb:
> Mein neues Simulatios-tool wirf mir allerlei *.sh Skripte aus, die unter
> Linux verwendet werden können.

Es geht aus deiner Aussage nicht so ganz hervor, ob dein magisches Tool 
nur die Linux Skripte auswirft oder auch die entsprechenden Windows 
Skripte, häufig mit der Extension *.bat was unter Windows häufig .. aber 
das ist eine andere  Story. Bzw. zwischen den Zeilen implizierst du, 
dass das "neues Simulatios-tool" in Wirklichkeit zwei Bausteine hat, 
eine GUI in der du die Parameter setzt und entsprechende Shell Skripten 
erzeugst und eine Simulations Engine, die du mit den Skripten fütterst

Das bedeutet du solltest raus finden, ob du das ganze (also die 
entsprechende Simulations-Engine) als Windows oder Linux Version 
installiert hast, und wo, d.h. ob du eventuell auf einen Remote Server 
mit der Engine Installation zugreifen willst. Und das ist ggf. der 
Moment wo du den ITler bei euch fragen musst.

Wenn Windows dann Windows Skript verwenden, das Linux Skript ist eher 
nutzlos.


> Mein netter Chef hat aber nur Windows-PCs im Angebot.

Die Gelegenheit deinen netten Chef um einen etwas kräftigeren PC/Laptop 
mit Linux zu bitten, also etwas kräftiger im Sinne von nahezu das beste 
was Geld kaufen kann. Dann tritt Windows in die Tonne und steig um;)

> Wie und mit welchem Support nutzt man die am besten?

Dem Support des Herstellers! Unter About in der Software die 
Telefonnummer des SW Herstellers herausfinden, anrufen und um die 
Weiterleitung zu einem Support Mitarbeiter bitten, und dem genau die 
Frage stellen.

Manchmal hilft es ja auch schon etwas im Handbuch zu stöbern oder ein 
Tutorial durchzugehen.

> Cygwin habe ich gefunden und installiert, er frisst es aber nicht.
> Start aus dem Verzeichnis oder auch dem lokalen Script-Verzeichnis wird
> nicht akzeptiert. Das jeweilige file wird angeblich nicht gefunden.
>
> Beispiel:  do_sim.sh  mit do und nur unter Aufruf von do_sim (ohne und
> mit sh) gestartet - keine Reaktion.
>
> Muss das noch irgendwie dem Win bekannt gemacht werden? Braucht es einen
> Pfadeintrag?

Unter Linux u.U. das Skript erst mit "chmod a+x *.sh-File" executable 
machen und dann mit ./sh-File im lokale Directory aufmachen oder mit 
Pfadangabe oder mit sh sh-File. Beides geht unter Linux normalerweise, 
aber unter Windows wirst du vermutlich auch mit einem Pfadeintrag nicht 
viel weiter kommen.

Das erwähnte "do" ist ein Windows Befehl, oder? Würde jetzt in erster 
Stufe nicht davon ausgehen, dass es mit *.sh Files umgehen kann.

>
> Wir haben hier noch jemanden, der an dem Problem laboriert und das
> gleiche ausprobiert - ebenfalls ohne Ergebnis. Kann es sein, dass nur
> manche Win-Versionen das unterstützen?

WSL ja nur auf bestimmten Win Versionen, cygwin lieft vermutlich schon 
als Windows noch MSDos hieß, dementsprechend der notwendige Nerd 
Quotient beim Bedienen, aber läuft und VMware oder VBox o.ä. läuft 
eigentlich seit einigen Releases ziemlich gut auf Windows, aber um von 
der VM unter z.B. aus Linux via Script ein Executable unter Windows zu 
triggern - viel Spaß oder in anderen Worten, ist den Aufwand nicht wert.

Gruß
-th-

von Oliver S. (oliverso)


Lesenswert?

Eine bash shell bekommst du auch mit msys2. cycwin muß da nicht sein.

Aber hat denn schonmal jemand in die scripte hineingeschaut, was da drin 
passiert? Denn das alles klingt doch sehr danach, daß das ganze Tool für 
eine Linux-Umgebung gedacht ist, und die scripte unter Windows nur mit 
sehr viel Schmerzen, wenn überhaupt, ans laufen zu bekommen sind.

Wenn WSL(2) keine Option ist, nimm halt eine VM mit Linux.

Oliver

von Rene K. (xdraconix)


Lesenswert?

Ein T. schrieb:
> Im Kern soll das ein Ubuntu mit den originalen Ubuntu-Paketquellen und
> -Paketen sein

Im Kern kann man eigentlich jegliche Linux Distribution installieren.

von -gb- (georg2011) Benutzerseite


Lesenswert?

Sebastian R. schrieb:
> Wäre das WSL (Windows-Subsystem für Linux) vielleicht etwas?
Genau das ist drauf. Ich bekomme es aber nicht angeworfen.

Brax schrieb:
> Vermutlich ist Dein aktuelles Verzeichniss nicht im Pfad und die Scripte
> werden deshalb nicht gefunden. Abhilfe schafft vermutlich "./do_sim.sh".
Pfade sind eingetragen, läuft aber dennoch nicht.

Andy S. schrieb:
> Shell-Skripte laufen unter Cygwin nur in einer cygwin-Kommandozeile, das
> normale Befehlszeilenfenster kann damit nix anfangen.
>
> Eigentlich haette cygwin bei der Installation einen Icon auf dem Desktop
> anlegen müssen mit der Bezeichnung 'Cygwin Terminal' oder 'Cygwin64
> Terminal'. In diesen Kommandozeilenfenstern sollten die Shellskripte
> aufrufbar sein.

Ja, ist aber nichts zu sehen.

Ich frage mal in einem Linux Forum nach. Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.