PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash: ./otrcut52.sh: /bin/bash: bad interpreter: Datei oder Verzeichnis nicht gefun



dsiggi
13-08-2007, 18:02
Hallo,
ich hab ein Problem mit meinem Script "OtrCut".

Bei mir (Debian 4.0) läuft es ohne Probleme. Aber ich habe jetzt schon zwei Benutzer bei denen folgender Fehler beim Ausführen des Scriptes kommt:



bash: ./otrcut52.sh: /bin/bash^M: bad interpreter: Datei oder Verzeichnis nicht gefunden


Auch wenn die erste Zeile von #!/bin/bash nach #!/bin/sh geändert wird, funktioniert es nicht.

Das Script findet ihr hier: http://www.siggimania4u.de/otrcut/otrcut.sh

Habt ihr ne Idee an was das liegen könnte?

dsiggi

BLUESCREEN3D
13-08-2007, 18:38
^M weist auf einen Windows-Zeilenwechsel hin. Vermutlich hast du das Script in einem Windows-Editor geschrieben und unter Linux wird das erste Byte des Windows-Zeilenwechsels mit zum Interpreternamen gezählt.

Mit dem Programm dos2unix kannst du die Datei umwandeln.

dsiggi
13-08-2007, 19:31
Hmm,
kommisch. Hab das Script unter Linux mit kwrite geschrieben.
Werde das mit dos2unix den Benutzern mal mitteilen. Mal schaun obs was bringt.

dsiggi

peschmae
13-08-2007, 19:43
Hmm,
kommisch. Hab das Script unter Linux mit kwrite geschrieben.

Bei KWrite kannst du einstellen, welche Zeilenendungen verwendent werden sollen.

MfG Peschmä

dsiggi
13-08-2007, 19:52
Kwrite ist auf Unix eingestellt.

dsiggi

jan61
13-08-2007, 23:52
Du solltest Dir das Script otrcut52.sh mal mit einem Hex-Editor anschauen, um sicher zu sein. Geht auch einfach über die Shell:
jan@jack:~/tmp/mtest> echo "#! /bin/bash^M" >jt_cr.sh
jan@jack:~/tmp/mtest> head -n 1 jt_cr.sh | od -cx
0000000 # ! / b i n / b a s h \r \n
2123 2f20 6962 2f6e 6162 6873 0a0d
0000016
Wenn das Zeichen \r auftaucht, dann hast Du ein DOS-Zeilenende drin. Abhilfe (neben dem schon erwähnten dos2unix):
tr -d '^M' <otrcut52.sh >otrcut52.tmp && mv otrcut52.tmp otrcut52.shDas Zeichen ^M kriegst Du, indem Du nacheinander CTRL-v und CTRL-m drückst.

Jan