Frage von ReonlomochEU, 31

Teamspeak Server startet nicht Debian?

Hey ich habe einen Server mit 6Cores 8GB Ram ich hatte mal ein ts drauf ich hab von den server alles nuinstalliert nun steht da aber wenn ich Teamspeak installieren will:
-bash: ./ts3server_startscript.sh: /bin/sh^M: bad interpreter: No such file or directory

Antwort
von threadi, 22

Scheinbar wurde die Datei auf dem falschen Weg zum Server transportiert (FTP Binary z.B. obwohl ascii richtig wäre) oder die Datei ist fehlerhaft entpackt wurden.

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

-bash: ./ts3server_startscript.sh: /bin/sh^M: bad interpreter:

diese Fehlermeldung zeigt an, dass (hier die 1.Zeile des Startscripts ) das Zeilenende mit einem Zeichen ^M abgeschlossen ist.
Dummerweise sieht man das beim Editieren nicht, weil die ( oder viele) Linux-Editoren intelligent sind und ein solches Zeilenende tolerieren. Die Bash als Interpreter für dieses Script toleriert das aber nicht.

Die Meldung zeigt aber auch an, das das Startscript über einen Windows-Rechner transportiert oder dort erstellt wurde.

Microsoft benutzt als Zeilenende die Zeichen für "Zeilen-Rücklauf" und für "Zeilen-Vorschub", während Linux dafür nur ein Zeichen benutzt.

dos2unix ist ein Tool zum Umwandeln von DOS (Microsoft) nach Unix (Linux) Zeilenumbrüchen.

Solltest du das Script auf einem Windows-PC haben und mit ftp zum Server übertragen haben, dann hast du vorher nicht nicht auf ascii umgestellt:

so

ftp> ascii
ftp> put .... 
Kommentar von ReonlomochEU ,

Ich hab das Script mit Notepad++ geöffnet am Windows und nix gesehn kannst du mir ein Editor empfehlen

Kommentar von guenterhalt ,

mit dem Editor hat das nichts zu tun. Alle mit Windows-Programmen erstellte Textdateien benutzen diese Zeilen-Ende-Codierung. Richtig sehen kann man diese Zeichen nur mit einem Programm, das z.B. alles im Hexa-Dezimal-Code darstellt. Das kann aber kaum ein Mensch lesen, geschweige denn fließend.

41 => A  42 => B  ... 31 => 1 ; 32 = 2 ...

Am Zeilenende  seht dann bei Linux 0D , bei Windows 0A 0D  und damit kommt die bash-Shell nicht klar.

Es ist viel zu mühsam solche Korrekturen per Hand zu machen.

Sage, wie du die Dateien auf den Server gebracht hast und wir können sagen, wie es besser geht.

Antwort
von Linuxhase, 16

Hallo

-bash: ./ts3server_startscript.sh: /bin/sh^M: bad interpreter: No such file or directory

Bei der Fehlermeldung solltest Du das Script mal so starten:

bash -x ./ts3server_startscript.sh

Zeig doch auch mal das Script selbst:

cat /pfad/wo/es/liegt/ts3server_startscript.sh

Linuxhase

Keine passende Antwort gefunden?

Fragen Sie die Community