PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : /bin/bash^M: bad interpreter: No such file or director



GATGAT
01.02.2010, 15:31
Hallo ich habe ein Problemm.Ich habe einen Arcemu auf linux leider geht der restarter nicht jedes mall wenn ich den starten will (restarter.sh)

/bin/bash^M: bad interpreter: No such file or director dieser Error.

Debian 5.0
Vserver
Arcemu Restarter
(
#!/bin/bash
while :; do
./ascent-world
sleep 1
done
)

leider kommt der error :(

Suche eine alternative für den Restarter app muss neustarten nach dem Crash

danke für eure hilfe

LuLu-X
01.02.2010, 19:06
Das Problem ist hier eine Konvertierungsspielerei, du hast das Skript unter Windows geschrieben/kopiert und dort gespeichert, anschließend auf deinen Server geladen, gelle?

Aus diesem Grund sollte, wenn du das Skript auf deinem Linux-System öffnest, dort
#!/bin/bash^M stehen.
Du könntest jetzt das Teil dort editieren, dann sollte es weg sein.
Ansonsten es gibt ein Skript, dass nennt sich dos2unix, damit kannste es auch konvertieren, sollte im Paket tofrodos enthalten sein.

mfg

GATGAT
03.02.2010, 08:57
nein hat es nicht ^^ es lauft eifach nicht

LuLu-X
03.02.2010, 11:42
Also am Skript selber liegt es nicht, das läuft einwandfrei.
Lass mal die Shebang oben weg, und pass drauf auf, dass das Skript .sh als Endung hat. Sollte dann auch gehen.


while :; do
./ascent-world
sleep 1
done

ich tippe aber immer noch auf codierungsfehler...
schreib es wie gesagt alternativ auf dem root (mit nano oder vi), das muss gehen (bei mir läufts ja auch, also sind syntaktisch keine fehler drin).
Das Problem ist, dass wenn du das Skript unter Windows schreibst (dort gibt es die Shebang nicht), sieht der Hexdump der Datei anders aus, wodurch ^M angehängt wird.
mfg

H4x0r007
03.02.2010, 17:02
Installiere das Programm dos2unix (Ubuntu-Paket: tofrodos) und lasse die Datei einmal durch das Programm laufen. Hierbei werden Windows-Zeilenumbrüche (New Line + Carriage Return) durch Unix Umbrüche (New Line) ersetzt.

0x30
03.02.2010, 17:52
Für sowas braucht man nicht wirklich ein Programm. Da würde ein kleiner Befehl in der Konsole vollkommen ausreichen.


tr -d '\r' < dos.txt > unix.txT