Frage von GumiChan, 71

.sh Dateien öffnen [Windows]?

Hey, Ich habe auf meinen PC mit Windows 10 eine Datei, die die Endung ".sh" hat, Nur würd' ich die ganz gern öffnen, aber das geht nicht, weil ich kein dazugehöriges Programm zum öffnen habe. Ich habe schon einige Tutorials ausprobiert, hab mir Software runtergeladen und bin dann auf diese Frage [https://www.gutefrage.net/frage/wie-fuehre-ich-eine-sh-datei-unter-windows-aus] gestoßen. Was in der hilfreichsten Antwort steht, hab ich auch schon probiert, nur kommt wenn ich die Datei dann ausführe kurz die Befehlszeile (cmd) und verschwindet dann wieder. Das wars, mehr kommt nicht :/. Ich würde mich freuen wenn ihr mir helfen könntet, danke! LG GumiChan!

Antwort
von Gummileder, 47

Ein sh shell script kann unter Windows 10 Build 1607 mit dem "Windows Subsystem für Linux" gestartet werden.

Man aktiviert es in den Programm Features.

Anleitung siehe hier, eigentlich für die Insider Preview der Artikel aber die aktuelle Windows 10 Build enthält genau das.

http://www.heise.de/newsticker/meldung/Hands-on-Das-neue-Linux-Subsystem-in-Wind...

Antwort
von Linuxhase, 23

Hallo

Ich habe auf meinen PC mit Windows 10 eine Datei, die die Endung ".sh" hat, Nur würd' ich die ganz gern öffnen,

Das geht doch mit jedem beliebigen Texteditor, darin kannst Du die Datei öffnen, ansehen und sogar editieren (letzteres ist aber mit dem "falschen" Editor schädlich wenn die Datei danach wieder unter GNU/Linux laufen soll, wegen unterschiedlichen Zeilenenden-Codes)

Wenn Du allerdings mit "öffnen" das ausführen der Datei und damit der darin stehenden Kommandos meinst, dann vergiss es lieber. Klar gibt es Layer (Cygwin, Ubuntu-Bash-for-Windows) die das unter Windows ermöglichen, aber ob und wie gut das funktioniert hängt natürlich davon ab was in diesem Shell-Script steht.

native Linux-Software gehört nicht auf Windows, ebenso wenig wie native Windows Software auf unixoide Systeme gehört.

Linuxhase

Kommentar von GWBln ,

letzteres ist aber mit dem "falschen" Editor schädlich wenn die Datei danach wieder unter GNU/Linux laufen soll, wegen unterschiedlichen Zeilenenden-Codes

die Aussage ist -- zumindest für den (g)vim -- nicht richtig!

Der läßt das Fileformat unangetastet!

Kommentar von Linuxhase ,

@GWBln

die Aussage ist -- zumindest für den (g)vim -- nicht richtig!

weswegen ich den "falschen" geschrieben habe. ;-)

Linuxhase

Expertenantwort
von guenterhalt, Community-Experte für Linux, 38

Windows benutzt die Dateinamenerweiterungen  wie .doc,  .exe , .bat ... zur Auswahl von Anwendungen.
.sh kommt da offensichtlich nicht vor.

Warum willst du so eine Datei öffnen  und was bedeutet bei dir öffnen?
Wenn es eine ascii-Datei ist ( das sind nur lesbare Zeichen -Schrift, Zahlen und Sonderzeichen-), dann kannst du den Inhalt sie z.B. mit wordpad anzeigen  lassen.

Da Linux Dateinamenerweiterungen nicht an irgendwelche Programme bindet,
gibt es keine Garantie, dass es sich, wie einige hier schreiben, um ein Shell-Script handelt.
Denkbar ist das aber doch. Die Frage ist aber, was soll ein Script, das in der Sprache der Bourne- oder der Bash-Shell geschrieben ist, auf einem Windows-PC machen?

Wer für Windows Shell-Programme schreibt, wird sie auch in einer dafür vorgesehenen Sprache schreiben.

Für Linux geschriebene Scriptdateien laufen praktisch sofort auf einen Fehler, auch wenn es ein Programm gibt, das die Syntax der betreffenden Shell "versteht". Beim erste Befehl, der einen Linux-Befehl beinhalte, lasst
 genau das entstehen, was du beobachtet hast. Abbruch.

Kommentar von GWBln ,

hinzu kommt, daß es unterschiedliche Art und Weise bei der Speicherung der Inhalte gibt:

Eine Datei (egal welchen Inhalts) -- bearbeitet mit einem Text-Editor -- speichert unter Linux immer mit LF als Zeilen-Ende-Zeichen ... (unter Windows üblich CR+LF)

Von daher wirst du Schwierigkeiten haben, einen Datei -- erstellt unter Linux -- unter Windows auszuführen, selbst wenn Syntax und Semantik stimmen!

Umgekehrt könnte es ähnlich aussehen ... habe mal Probleme damit gehabt, weiß aber die Details nicht mehr.

Kommentar von guenterhalt ,

deine Bemerkungen sind ganz richtig, wobei es immer darauf ankommt, wie Dateien von Windows zu Linux gekommen sind.
ftp kennt die Option "ascii", um die Umwandlung auszuführen.
Auch innerhalb eines Computers wird diese "Übersetzung" durch Linux ausgeführt. Auch hier erfolgt das  automatisch (wahrscheinlich durch den Gerätetreiber).
Ob das auch beim Kopieren auf einen NTFS- oder FAT- USB-Stick erfolgt, weiß ich nicht.

Keine passende Antwort gefunden?

Fragen Sie die Community